@Path("/clearPro")
@Service("clearUserWebService")
public class ClearWebService {
@Resource
private SysResourceService sysResourceService;
@Path("/dispath")
@POST
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public String dispath(String jsonStr) {
System.out.println("=============we test webservice by http head start===========");
System.out.println(jsonStr);
System.out.println("=============we test webservice by http head end===========");
return "can you";
}
}
如果需要查看执行测试之后在Jmeter中的返回结果,我们需要在线程组下面新建一个察看结果树(右键线程组>添加>监听器>察看结果树),在响应数据一栏即可以看到响应返回的结果
注意:在Jmeter发送JSON字符串的格式进行测试的时候,我们传递JSON参数的时候不能给参数名称,而应该直接给值既可以。否则传到后台的时候会包含一系列的非字符串样式--导致其乱码。无法正确解析为我们需要的对象。
{"name":"zhangsan","description":"its"}既可以,而无需jsonStr = {"name":"zhangsan","description":"its"}其传过来的json参数我们只需要解析为我们后台对应的对象即可。
/**
* 将JSON字符串 转换为对象
*
* @author weiyuanhua
* @date 2010-11-18 下午02:52:13
* @param jsonStr
* JSON字符串
* @param beanClass
* 泛型对象
* @param field
* 对象中需要忽略的属性
* @return
*/
public static Object jsonToObject(String jsonStr, Class<?> beanClass,String... field) {
JsonConfig jsonConfig = getJSONConfig(field);
JSONObject jsonObject = JSONObject.fromObject(jsonStr, jsonConfig);
return JSONObject.toBean(jsonObject, beanClass);
}
private static JsonConfig getJSONConfig(String... field) {
JsonConfig jsonConfig = new JsonConfig();
if (field != null) {
jsonConfig = new JsonConfig();
String[] exclu = new String[field.length];
for (int i = 0; i < field.length; i++) {
exclu[i] = field[i];
}
jsonConfig.setExcludes(exclu);
}
return jsonConfig;
}