rest 接口设计和参数接收
Posted huanggy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rest 接口设计和参数接收相关的知识,希望对你有一定的参考价值。
请求类别
之前我们一般使用 GET和 POST请求。在 rest 中使用 POST、DELETE、PUT、GET 对应 增删改查 DB 操作
接口风格
参数分为两部分:地址栏参数描述业务操作,请求参数为该操作的具体参数
rest 接口:/{version}/operationSubject/{operationId}/createMainAccount
请求示例:
form.on(‘submit(add)‘, function(data) { $.ajax({ // 通过 url 知道这个接口是用于创建主账号 url:"/mainAccount-client/v2.14/operationSubject/accqwe134fgtr5/createMainAccount", type:"POST", dataType:"json", contentType : ‘application/json;charset=utf-8‘, // 账号相关数据 data: JSON.stringify(data.field), success:function(msg){ console.log("ajax success"); }, error:function(){ console.log("ajax error"); } }) });
接收参数
1,对于地址栏参数使用 @PathVariable 注解
2,GET 请求参数使用 @RequestParam 注解
3,POST、DELETE、PUT 请求参数使用 @RequestBody 注解
接收 GET 请求示例
// 获取主账号列表 @GetMapping(value = "/{version}/operationSubject/{operationId}/getMainAccount") // rest 接口地址 public String getMainAccount(@PathVariable(value = "version") String version, // 地址栏参数 version @PathVariable(value = "operationId") String operationId, // 地址栏参数 operationId @RequestParam(required = false) Integer currentPage, // 请求参数 currentPage @RequestParam(required = false) Integer pageSize) // 请求参数 pageSize { // 业务处理 }
接收 POST 请求示例
@PostMapping(value = "/{version}/operationSubject/{operationId}/createMainAccount") public String createMainAccount(@PathVariable(value = "version") String version, @PathVariable(value = "operationId") String operationId, @RequestBody String params) { // 解析请求参数 JSONObject jsonObject = JSONObject.parseObject(params); String opeSubId = jsonObject.getString("opeSubId"); String fullName = jsonObject.getString("fullName"); String shortName = jsonObject.getString("shortName"); }
注意:
1,JSON.stringify() 使用
GET 请求不要使用,非GET请求要使用
2,dataType 和 contentType 别忘记了
dataType: "json",
contentType: "application/json; charset=utf-8",
以上是关于rest 接口设计和参数接收的主要内容,如果未能解决你的问题,请参考以下文章