restful风格url Get请求查询所有和根据id查询的合并成一个controller

restful风格url Get请求查询所有和根据id查询的合并成一个controller的方法

原代码

    // 127.0.0.1:8080/dep/s   @ApiOperation(value="查询所有", notes="查询所有")
    @RequestMapping(value = "/s",method = RequestMethod.POST)
    public List<Dep> deps() {
        return depService.queryAll();
    }
   

   // 127.0.0.1:8080/dep/1
    @GetMapping(value = "/{id}")
    public Dep get(@PathVariable Long id){
        return depService.queryById(id);
    }

  该种写法不够完美,写多个方法并且匹配的不是相同的url.强迫症表示不能接受

改写

   // 127.0.0.1:8080/dep/test  查询全部    // 127.0.0.1:8880/dep/test/1     查询ID为1   @ApiOperation(value="测试同时实现查询所有和根据id查询", notes="测试同时实现查询所有和根据id查询")
    @RequestMapping(value = {"/test/{id}","/test"},method = RequestMethod.GET)
    public Object deps(@PathVariable( value = "id",required = false) String id) {
        if(StringUtils.isEmpty(id)){ // ID为空查全部
            return depService.queryAll();
        }else { // 不为空根据id查询
            return depService.queryById(id);
        }
    }

也可以直接映射两个不同方法,这里是不同的url映射同一个方法

  必须匹配多个url时requird = false才能生效(我猜的!)

  参考[1].https://www.imooc.com/qadetail/268268?t=436798

原文地址:https://www.cnblogs.com/covet/p/10141617.html

时间: 12-17

restful风格url Get请求查询所有和根据id查询的合并成一个controller的相关文章

Spring MVC RESTful风格URL welcome-file-list不起作用问题解决

[Spring框架]<mvc:default-servlet-handler/>的作用 优雅REST风格的资源URL不希望带 .html 或 .do 等后缀.由于早期的Spring MVC不能很好地处理静态资源,所以在web.xml中配置DispatcherServlet的请求映射,往往使用 *.do . *.xhtml等方式.这就决定了请求URL必须是一个带后缀的URL,而无法采用真正的REST风格的URL. 如果将DispatcherServlet请求映射配置为"/",

mysql中的多行查询结果合并成一个

SELECT GROUP_CONCAT(md.data1) FROM DATA md,contacts cc WHERE md.conskey=cc.id AND md.mimetype_id= 5 AND md.user_id=17: 利用函数:group_concat(),实现一个ID对应多个名称时,原本为多行数据,把名称合并成一行,如|1 | 10,20,20| 本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name)

【Python】Django 支持 restful 风格 url

URL通配符示例: url(r'^file_download/(?P<filename>(.)*)$', views.FILE_DOWNLOAD_VIEW.as_view()), 代码示例: def get(self, request, filename): from common.s3_storage import S3_STORAGE s3_storage = S3_STORAGE() key = s3_storage.package_bucket.get_key(filename) as

GROUP_CANCAT() 把查询出的所有行的字符串拼接成一个串

原数据: 查询: SELECT test,GROUP_CONCAT(id) AS myScore FROM test1 GROUP BY test; 原文地址:https://www.cnblogs.com/liyunchuan/p/11511076.html

查询两个表合并成一个表

select c.ClientID,c.Name,case MAX(c.Grade) when 0 then '厂家直营' when 1 then '总代理' when 2 then '省级代理'when 3 then '省级代理' end Grade,MAX(d.CooperationIntention) as CooperationIntention,COUNT(*) as number,ISNULL(c.IsEmphasis,0) IsEmphasis from SG_Client c i

三、Spring MVC之Restful风格的实现

先抛论点:我觉得Restful风格仅仅是一种风格,并不是什么高深的技术架构,而是一种编程的规范.在我们进行应用程序开发的过程中,我们可以发现,80%以上的操作都是增删查改式的操作,restful就是定义了CRUD的开发规范.下面把restful风格的url和传统风格的url进行一个对比. 业务操作 传统风格URL 传统请求方式 restful风格URL restful请求方式 新增 /add GET/POST /order POST 修改 /update?id=1 GET/POST /order

Restful风格wcf调用2——增删改查

写在前面 上篇文章介绍如何将wcf项目,修改成restful风格的接口,并在上面提供了查询的功能,上篇文章中也感谢园友在评论中的提的建议,自己也思考了下,确实是那个道理.在urltemplate中,定义的url确实不规范,虽然能实现功能,但是缺少点专业性.rest风格的请求,是通过post,delete,get,put等请求方法来区别的,而不是通过在url中取不同的名字来进行区别.这里再次感谢@~Js园友提醒. 在这篇文章中将最新的代码贴出来,方便查看. 系列文章 Restful风格wcf调用 

mysql 将多个查询结果合并成一行

mysql中的多行查询结果合并成一个 SELECT GROUP_CONCAT(md.data1) FROM DATA md,contacts cc WHERE md.conskey=cc.id AND md.mimetype_id= 5 AND md.user_id=17: 利用函数:group_concat(),实现一个ID对应多个名称时,原本为多行数据,把名称合并成一行,如|1 | 10,20,20| 本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select

让python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE等请求

这两天在用python的bottle框架开发后台管理系统,接口约定使用RESTful风格请求,前端使用jquery ajax与接口进行交互,使用POST与GET请求时都正常,而Request Method使用PUT或DELETE请求时,直接爆“HTTP Error 405: Method Not Allowed”错误.而ajax提交的Request Method值DELETE也变成了OPTIONS了. 度娘了好多答案,要么说是浏览器不支持,要么说自己重新封装jquery,还有其他的一些方法...