下面的项目用的是servlet3.0架构

接口(doubbo消费者项目和服务者项目共享的jar项目中):

package serviceinvoke;

import com.alibaba.dubbo.rpc.protocol.rest.support.ContentType;

import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType; @Path("baService")
public interface BaService { @POST
@Path("addUser")
@Consumes({MediaType.APPLICATION_JSON})
@Produces({ContentType.APPLICATION_JSON_UTF_8})
String addUser(String jsonString);
}

服务层:

package serviceinvoke;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service; import java.io.File;
import javax.annotation.Resource;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONObject; @Service
public class BaServiceImpl implements BaService {
private static final Logger logger = LoggerFactory.getLogger(BaServiceImpl.class); @SuppressWarnings("unchecked")
@Override
public String addUser(String jsonString) { //取请求的jsonString中的requestObject转换为map
Map<String, Object> requestMap = getJsonRequestObject(jsonString);
String username;
String password;
username = String.valueOf(requestMap.get("username"));
password = String.valueOf(requestMap.get("password"));
//各种业务逻辑 todo return "这是一个dubbo的远程服务提供接口实现类";
} /**
*
* Description:获取报文中的requestObject
* @param stringJsonn
* @return
*/
@SuppressWarnings({ "rawtypes" })
public static Map getJsonRequestObject(String stringJsonn) { JSONObject strJson = JSONObject.fromObject(stringJsonn);
Map mapParam = strJson; Map ContractRootMap = (Map)mapParam.get("ContractRootMap");
Map SvcContMap = (Map)ContractRootMap.get("SvcCont");
Map requestObject = (Map)SvcContMap.get("requestObject"); return requestObject; } }

postman测试:

各个可选位置参数

位置1:选择请求方式

位置2:写请求地址

  除了 IP 地址,端口,项目名称后,就是 service 接口上的 path注解中的内容:

位置3:因为我们是post请求,而且请求参数是个复杂的json串,所以,这里选 body,同理4的位置选择raw

位置4:同位置3原因

位置5:因为要发送json格式的参数,所以这里选 json,如果不选,send请求时会报415错误

位置6:请求参数

使用postman测试dubbo服务层的方法的更多相关文章

  1. jmeter测试dubbo接口

    本文讲解jmeter测试dubbo接口的实现方式,文章以一个dubbo的接口为例子进行讲解,该dubbo接口实现的功能为: 一:首先我们看服务端代码 代码架构为: 1:新建一个maven工程,pom文 ...

  2. Postman Postman测试接口之POST提交本地文件数据

    Postman测试接口之POST提交本地文件数据   by:授客 QQ:1033553122 本文主要是针对用Postman POST提交本地文件数据的方法做个简单介绍 举例: 文件同步接口 接口地址 ...

  3. Postman—测试脚本

    前言 对于Postman中的每个请求,我们都可以使用JavaScript语言来开发测试脚本.这也就好比单元测试.我们先看看Postman的相关界面: 编写测试脚本 Postman测试脚本本质上是在发送 ...

  4. 三、postman测试断言设置语法

    postman的基本介绍跟基本的用法,在此就不做过多赘述,主要是受限于时间,网上有很多大神总结的已经算是很详尽了,给出链接并感谢大神的辛苦与奉献: postman基本用法:http://www.jia ...

  5. 使用Postman测试请求

    Postman是什么 在开发或者调试网络程序或者是网页B/S模式的程序的时候,需要一些方法来跟踪网页请求,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具. 网页调试工具Postm ...

  6. 【postman】postman测试API报错如下:TypeError: Failed to execute 'fetch' on 'Window': Invalid value 对中文支持不好

    使用postman测试APi的时候,因为系统需要在header部带上登录用户的信息,所以 如下: 然后测试报错如下:TypeError: Failed to execute 'fetch' on 'W ...

  7. SoapUI、Postman测试WebService

    之前装了SoapUI,最近装了Postman,分别用它们测试了WebService,下面为用法. 测试的在线WebService(数据来源于中国气象局)Endpoint: http://www.web ...

  8. PHP简单实现异步多文件上传并使用Postman测试提交图片

    虽然现在很多都是使用大平台的对象存储存放应用中的文件,但有时小项目还是可以使用以前的方式上传到和程序一起的服务器上,强调一下这里是小众需求,大众可以使用阿里云的OSS,腾讯的COS,七牛的巴拉巴拉xx ...

  9. 使用PostMan测试WebService接口

    使用PostMan测试WebService接口 参考资料: 通过XML请求WebServer  https://blog.csdn.net/qq_33933408/article/details/53 ...

随机推荐

  1. php配置-解决大数据超多字段的POST方式提交无法完全接受的问题

    例如:在盘点表的数据提交中出现了POST大量数据超多字段的将近2000个字段,部分字段没有接受:修改方法为修改php.ini 将max_input_var调大,该值默认为1000 max_input_ ...

  2. java 中的迭代

    package cn.zhou.com; import java.util.ArrayList; import java.util.Collection; import java.util.Itera ...

  3. Bootstrap之图片展示界面Demo2

    代码:(使用模板引擎freemarker) <!DOCTYPE html> <html> <head> <title>图片</title> ...

  4. 三、zookeeper安装

    一.简介 二.下载解压: #wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.12/zookeeper-3.4.12.tar ...

  5. hdu1839(最小生成树)

    题意:字面意思: 思路:就是多了一个前提,有些点之间可能有边,有两个处理方法,一个是有边的,这条边权值归零,另一个是,先一次循环用并查集过一遍: 代码:(用的是第一种方法) #include<i ...

  6. int,String转换

    int -> String 第一种方法:s=i+""; //会产生两个String对象 第二种方法:s=String.valueOf(i); //直接使用String类的静态 ...

  7. JavaScript知识点总结[部分]

    变量 局部变量必须一个 var 开头,如果未使用var,则默认表示声明的是全局变量. <script type="text/javascript"> // 全局变量 n ...

  8. BZOJ3230 相似子串 【后缀数组】

    题目分析: 容易想到sa排好序之后,子串排名就是前面的子串减去height数组.所以正着做一遍,倒着做一遍就行了. 代码: #include<bits/stdc++.h> using na ...

  9. 洛谷P2764 最小路径覆盖问题

    有向无环图的最小路径点覆盖 最小路径覆盖就是给定一张DAG,要求用尽量少的不相交的简单路径,覆盖有向无环图的所有顶点. 有定理:顶点数-路径数=被覆盖的边数. 要理解的话可以从两个方向: 假设DAG已 ...

  10. [洛谷P1273] 有线电视网

    类型:树形背包 传送门:>Here< 题意:给出一棵树,根节点在转播足球赛,每个叶子节点是一个观众在收看.每个叶子结点到根节点的路径权值之和是该点转播的费用,每个叶子节点的观众都会付val ...