• Swagger注解 传参


    转载自https://my.oschina.net/lyaohe/blog/1503254

    代码例子:

        @ApiOperation(value="获取用户详细信息", notes="根据url的id来获取用户详细信息")
        @ApiImplicitParam(paramType="path", name = "id", value = "用户ID", required = true, dataType = "Long")
        @RequestMapping(value="/{id}", method=RequestMethod.GET)
        public User getUser(@PathVariable Long id) {
            return users.get(id);
        }
    

    网上好多例子都没有paramType这个参数,导致获取不到URL的参数,特意记录一下

    详细的注解说明

    • @Api:用在类上,说明该类的作用
    • @ApiOperation:用在方法上,说明方法的作用
    • @ApiImplicitParams:用在方法上包含一组参数说明
    • @ApiImplicitParam:用在@ApiImplicitParams注解中,指定一个请求参数的各个方面
      • paramType:参数放在哪个地方
        • header-->请求参数的获取:@RequestHeader
        • query-->请求参数的获取:@RequestParam
        • path(用于restful接口)-->请求参数的获取:@PathVariable
        • body(不常用)
        • form(不常用)
      • name:参数名
      • dataType:参数类型
      • required:参数是否必须传
      • value:参数的意思
      • defaultValue:参数的默认值
    • @ApiResponses:用于表示一组响应
    • @ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息
      • code:数字,例如400
      • message:信息,例如"请求参数没填好"
      • response:抛出异常的类
    • @ApiModel:描述一个Model的信息(这种一般用在post创建的时候,使用@RequestBody这样的场景,请求参数无法使用@ApiImplicitParam注解进行描述的时候)
      • @ApiModelProperty:描述一个model的属性
    @ApiOperation(value="添加博客", notes="新增博客")
        @ApiImplicitParams({
                @ApiImplicitParam(name = "mess", value = "博客内容",
                        required = true, paramType = "query", dataType = "String")
        })
        @RequestMapping(value = "/addblog", method = RequestMethod.POST)
        public Result addBlog(@RequestBody Blog blog, @RequestParam(name = "mess", required = true)String mess, HttpServletRequest request){
            Integer userId = (Integer) request.getSession().getAttribute("userId");
            userId = 12;
            Integer effecNum = blogService.addBlog(blog, mess, userId);
            if(effecNum > 0)
                return new Result(ResultEnums.SUCCESS);
            return new Result(ResultEnums.PARAM_IS_INVAILD);
        }
    

      

  • 相关阅读:
    iOS开发之--隐藏状态栏
    iOS开发之--iPhone X 适配:MJRefresh上拉加载适配
    iOS开发之--为UITextField监听数值变化的三种方法
    ios开发之--为父view上的子view添加阴影
    iOS开发之--在UIWindow上展示/移除一个View
    iOS开发之--Masonry多个平均布局
    CocoaPods更新过程中出现的坑及解决方法
    那些已成定局的人和事
    两个陌生人的对话
    好好写代码吧,没事别瞎B去创业!
  • 原文地址:https://www.cnblogs.com/SkyeAngel/p/9182833.html
Copyright © 2020-2023  润新知