Json与Java间传参常用的几种方式
来源:互联网 发布:js求数组最大值和下标 编辑:程序博客网 时间:2024/06/06 03:39
Get方式传参,是典型的URL传参方式,在URL后面加上变量和所要传递的值即可,这种方式比较简单,下面以示例的形式展示其使用方法
URL:
http://localhost:8080/favccxx/rs/findInspectJobByJobId?jobId=525b8818d52cc6f835bb9e41
Java源代码:
@GET
@Path
(
"/findInspectJobByJobId"
)
@Produces
({ MediaType.TEXT_XML })
public
String findInspectJobByJobId(
@QueryParam
(
"jobId"
) String jobId,
@Context
HttpServletRequest request) {
InspectJob inspectJob = inspectJobService.findOne(
"jobId"
, jobId);
return
JsonUtil.toJson(inspectJob);
}
(二)POST方式传参
2.1使用URL做变量
将URL最后的位置当做变量去处理,如下所示的000,既是URL的地址,也是需要传递的参数。
URL:
http://localhost:8080/favccxx/rs/getInspectJobByJobId/000
Java源代码:
@POST
@Path
(
"/getInspectJobByJobId/{jobId}"
)
@Produces
({ MediaType.TEXT_XML })
public
String getInspectJobByJobId(
@PathParam
(
"jobId"
) String jobId,
@Context
HttpServletRequest request) {
InspectJob inspectJob = inspectJobService.findOne(
"jobId"
, jobId);
return
JsonUtil.toJson(inspectJob);
}
2.2 使用传统的&连接符传递多个参数
一直误认为Json向java端传递参数,就是使用Json的格式传递的,其实并不是,默认情况下,Json向后端传递参数仍然是使用=、&连接符传递参数的。示例代码如下:
URL:
http://localhost:8080/favccxx/rs/queryInspectJobById
参数:
jobId=123456&jobName=A任务
Java源代码:
@POST
@Path
(
"/queryInspectJobById"
)
@Produces
({ MediaType.APPLICATION_JSON })
public
String queryInspectJobById(
@FormParam
(
"jobId"
) String jobId,
@FormParam
(
"jobName"
) String jobName,
@Context
HttpServletRequest request) {
System.out.println(
"jobId:"
+ jobId +
",AndjobName is:"
+ jobName) ;
InspectJob inspectJob = inspectJobService.findOne(
"jobId"
, jobId);
return
JsonUtil.toJson(inspectJob);
}
2.3 使用Json格式传递,使用POJO类解析参数
使用此类方式传递参数时,Json格式数据中的变量,必须是Pojo类中的参数,这样可灵活传递参数,后端根据实际需要解析此参数,进行业务处理。
URL:
http://localhost:8080/favccxx/rs/queryInspectJobByJobId
参数:
{
"jobId" : "123456",
"jobName" : "A任务"
}
Java源代码:
@POST
@Path
(
"/queryInspectJobByJobId"
)
@Produces
({ MediaType.APPLICATION_JSON })
public
String queryInspectJobByJobId(
@RequestBody
String body,
@Context
HttpServletRequest request) {
InspectJob inspectJobReq = JsonUtil.fromJson(body, InspectJob.
class
);
InspectJob inspectJob = inspectJobService.findOne(
"jobId"
, inspectJobReq.getJobId());
return
JsonUtil.toJson(inspectJob);
}
2.4使用Json格式传参,使用自定义类QueryMap解参,适合分页查询
前端传参格式不变,后端封装一个QueryMap类,用来查询进行分页相关的数据。
URL:
http://localhost:8080/favccxx/rs/pageQueryJob
参数:
{
"pageIndex" : 2,
"queryMap" : {
"jobId" :"525b8818d52cc6f835bb9e41"
}
}
Java源代码:
@POST
@Path
(
"/pageQueryJob"
)
@Produces
({ MediaType.APPLICATION_JSON })
public
String pageQueryJob(
@RequestBody
String body,
@Context
HttpServletRequest request){
PageQuery pageQuery= JsonUtil.fromJson(body,PageQuery.
class
);
String jobId = pageQuery.getQueryMapByKey(
"jobId"
).toString();
returnnull;
}
- Json与Java间传参常用的几种方式
- Json与Java间传参常用的几种方式
- java 常用的几种排序方式
- java转JSON串的几种方式
- Java种遍历Map集合的几种常用方式
- java解析xml常用的几种方式、
- JAVA获取文件的几种常用方式
- Java中产生随机数的几种常用方式
- Java JSON解析的两种常用方式
- Json的几种解析方式
- XML/JSON的几种解析方式
- Struts2返回json的几种方式
- json读取数据的几种方式
- json解析的几种方式
- json解析的几种方式
- JSON解析的几种方式
- json的几种解析方式
- JSON解析的几种方式
- ubuntu文本编码转换工具iconv
- 小强的HTML5移动开发之路(19)——HTML5 Local Storage(本地存储)
- 常用的一些注入命令
- iconv: illegal input sequence at position 14876089
- 【高精度】2的n次方
- Json与Java间传参常用的几种方式
- Java_JDK+JRE
- 黑马程序员--基础加强--第三篇--单例设计模式,装饰者模式认识,专家模式,享元模式,模版方法设计模式
- 基于Storm0.8.1用java语言开发一个完整的流式计算程序
- MongoDB初探-基本概念与数据类型
- C++派生类与基类构造函数调用次序
- PostgreSQL查询优化器--逻辑查询优化--视图优化(一)
- ZOJ:3286 Very Simple Counting
- 黑马程序员_java基础加强2