请求类别
之前我们一般使用 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",
来源: http://www.bubuko.com/infodetail-2691937.html