使用postman测试dubbo服务层的方法
下面的项目用的是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服务层的方法的更多相关文章
- jmeter测试dubbo接口
本文讲解jmeter测试dubbo接口的实现方式,文章以一个dubbo的接口为例子进行讲解,该dubbo接口实现的功能为: 一:首先我们看服务端代码 代码架构为: 1:新建一个maven工程,pom文 ...
- Postman Postman测试接口之POST提交本地文件数据
Postman测试接口之POST提交本地文件数据 by:授客 QQ:1033553122 本文主要是针对用Postman POST提交本地文件数据的方法做个简单介绍 举例: 文件同步接口 接口地址 ...
- Postman—测试脚本
前言 对于Postman中的每个请求,我们都可以使用JavaScript语言来开发测试脚本.这也就好比单元测试.我们先看看Postman的相关界面: 编写测试脚本 Postman测试脚本本质上是在发送 ...
- 三、postman测试断言设置语法
postman的基本介绍跟基本的用法,在此就不做过多赘述,主要是受限于时间,网上有很多大神总结的已经算是很详尽了,给出链接并感谢大神的辛苦与奉献: postman基本用法:http://www.jia ...
- 使用Postman测试请求
Postman是什么 在开发或者调试网络程序或者是网页B/S模式的程序的时候,需要一些方法来跟踪网页请求,用户可以使用一些网络的监视工具比如著名的Firebug等网页调试工具. 网页调试工具Postm ...
- 【postman】postman测试API报错如下:TypeError: Failed to execute 'fetch' on 'Window': Invalid value 对中文支持不好
使用postman测试APi的时候,因为系统需要在header部带上登录用户的信息,所以 如下: 然后测试报错如下:TypeError: Failed to execute 'fetch' on 'W ...
- SoapUI、Postman测试WebService
之前装了SoapUI,最近装了Postman,分别用它们测试了WebService,下面为用法. 测试的在线WebService(数据来源于中国气象局)Endpoint: http://www.web ...
- PHP简单实现异步多文件上传并使用Postman测试提交图片
虽然现在很多都是使用大平台的对象存储存放应用中的文件,但有时小项目还是可以使用以前的方式上传到和程序一起的服务器上,强调一下这里是小众需求,大众可以使用阿里云的OSS,腾讯的COS,七牛的巴拉巴拉xx ...
- 使用PostMan测试WebService接口
使用PostMan测试WebService接口 参考资料: 通过XML请求WebServer https://blog.csdn.net/qq_33933408/article/details/53 ...
随机推荐
- 算法题 -- 输入一个Long数组,按要求输出一个等长的Long数组
/** * 输入一个Long数组,按要求输出一个等长的Long数组 * 输出数组的元素值等于,输入数组除相同下标外其他元素的积 * 如:输入[1, 2, 3, 4], 输出[24, 12, 8, 6] ...
- 避免MQ消息重发的简单实现思路
一.MQ消息发送 一.MQ消息发送 1.发送端MQ-client(消息生产者:Producer)将消息发送给MQ-server: 2.MQ-server将消息落地: 3.MQ-server回ACK给M ...
- 【python练习题】程序1
#题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? count = 0 for i in range(1,5): for j in range(1,5): for k ...
- Express学习(1) ------Express 入门
Express 是node 第三方框架,大家都知道,框架的意义就在于能大大简化程序地开发.那么我们就看一下Express是怎么简化node程序开发的. 1,用Express写一个hello world ...
- .resx文件与.cs文件的自动匹配
图中myCommands.Resx是<DependentUpon> myCommands.cs文件的. 如何为其他的.cs文件添加类似的资源文件呢? 其实挺简单, 添加与.cs文件同名的资 ...
- CentOS 安装git
git安装 yum install git 初始化git “git init --bare 文件夹” 添加所有 “git add . ” 提交 “git commit -m "提交信息&qu ...
- python 脚本之 IP地址探测
#第一种方法#!/usr/bin/env python #_*_ coding:utf8 _*_ #### 该脚本需要使用fping命令 如果没有安装需要提前安装fping #### yum inst ...
- linu系统文件授权命令
- luogu P1353 【[USACO08JAN]跑步Running】
USACO!!! 唉!无一例外又是母牛(终于知道美国的牧场养什么了) 今天的主人公是一个叫贝茜的公主病母牛(好洋气) 可是她叫什么和我们理解题好像没有什么关系 通过读题我们可以发现她有三个傲娇的地方 ...
- P1508 Likecloud-吃、吃、吃
数字金字塔3条路 f[i][j]=max(max(f[i-1][j],f[i-1][j-1]),f[i-1][j+1])+a[i][j]; #include<bits/stdc++.h> ...