Rest风格请求方式

Rest请求方式:

         好处:首先就是面向资源URI,即http请求的路径,Rest规定要求URI中各层只能用名词而不用动词,相比以前的get请求有利于传输数据的稳定性,数据的操作流程不易轻易被人识破,也便于团队开发,各种URI一目了然:

          ===GET------查询

          ===DELETE---删除

          ===PUT     ---修改

          ===POST   ---新增

符合这种风格的http请求,我们叫做它是Restful请求:

@RestController

@PathVariable:自动将rest请求匹配到同名参数上

@ModelAttribute:自动将请求的form表单参数 组装成对象

@RequestBody:    自动将请求的json参数 组装成对象

1---查询:

/**
 * restful风格操作
 * @param name
 * @return
 */
@RequestMapping(value="/xx/{name}",method= RequestMethod.GET,produces="application/json;charset=UTF-8")
private String query( @PathVariable String name) {
    String result = "查询一个名为"+name+"的结果";
    return result;
}

2---新增:

/**
 * 新增
 * @param user
 * @return
 */
@RequestMapping(value="/xx",method= RequestMethod.POST,produces="application/json;charset=UTF-8")
private String add(@RequestBody User user) {
    String result = "新增一个名为"+user.getUsername()+",密码为"+user.getPassword()+"的结果";
    return result;
}

3---

/**
 * 删除
 * @param username
 * @return
 */
@RequestMapping(value="/xx/{username}",method= RequestMethod.DELETE,produces="application/json;charset=UTF-8")
private String del(@PathVariable String username) {
    String result = "删除一个名为"+username+"的结果";
    return result;
}

4---修改:

/**
 * 修改
 * @param user
 * @return
 */
@RequestMapping(value="/xx",method= RequestMethod.PUT,produces="application/json;charset=UTF-8")
private String edit(@RequestBody User user) {
    String result = "修改一个名为"+user.getUsername()+",密码为"+user.getPassword()+"的结果";
    return result;
}

我们发现,post和put的参数由@ModelAttribute变成了@RequestBody;

这是因为我一开始通过postman模仿form表单提交【修改】,后台参数为null,百度之,众多高手,有的说spring不支持put请求,有的说form表单不支持PUT和DELETE,有的说需要个过滤器。

我也挨个试了一下,最后发现用json还是可以的:



原文链接:https://blog.csdn.net/qq_34582693/article/details/79981742

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值