开发者社区> 问答> 正文

关于SpringMVC @RequestMapping和 @PathVariab?400报错

关于SpringMVC @RequestMapping和 @PathVariable 的一个疑问? 400 报错

在springmvc注解的@RequestMapping("/username/{username}/userid/{userid}")如何处理默认值的情况,比如我在发送请求的时候,userid有时候是没有的,所以导到了不能匹配这个action

http://localhost:8080/spc/movie/username/winzip/userid/就不能匹配上面的请求:

http://localhost:8080/spc/movie/username/winzip/userid/33而这个才可以匹配。有没有一种

如果没有userid就取默认值 的处理办法;

展开
收起
爱吃鱼的程序员 2020-06-02 13:52:46 515 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    引用来自“wtsoftware”的答案

    那比如在咱们以前的action中先判断空再决定处理逻辑的手段就不能用了呗。
    你这个需求,不如直接用Get提交算了,用@RequestMapping干嘛呢?
    ###### @RequestMapping("/username/{username}/userid/")######

    简单来说不可以,原因就是你说的,因为如果少了PathVariable,URL就不一样了。

    复杂一点来说Spring 用 AntPathMatcher 这个 class 来读取URL里面的PathVariable,你可以继承 AntPathMatcher 加入你自己需要的逻辑。

    我觉得还是用 @RequestParam 比较简单

    ######同意楼上。######那比如在咱们以前的action中先判断空再决定处理逻辑的手段就不能用了呗。######只能说明你的url设计不合理######

    可以这样设计:比如请求为:

     1:http://localhost:8080/mybatis/search/searchResultList/222/1/0

      // @RequestMapping(value="/searchResultList/{condition}/{zhaiyaoStatu}/{classfiyStatu}",method={RequestMethod.GET})
    // public String searchResultList2(@PathVariable String condition,@PathVariable  String zhaiyaoStatu,@PathVariable  String classfiyStatu)
     2:http://localhost:8080/mybatis/search/searchResultList//1/0

    // @RequestMapping(value="/searchResultList/{zhaiyaoStatu}/{classfiyStatu}",method={RequestMethod.GET})
    // public String searchResultList1(@PathVariable  String zhaiyaoStatu,@PathVariable  String classfiyStatu)

     

     一个对应一个就OK!测试通过!缺点就是多一个 “/”。嘿嘿!

    ######什么时候能像 @RequestParam(value="id", required=false) 或者 @MatrixVariable(required=true, defaultValue="1") 这样就好了!期待!!! ######

    引用来自“DemoChen”的答案

    什么时候能像 @RequestParam(value="id", required=false) 或者 @MatrixVariable(required=true, defaultValue="1") 这样就好了!期待!!!
    确实需要这样的,很有用,期待spring mvc的支持
    2020-06-02 13:53:06
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载