美文网首页
houyi平台-开发指南-控制层开发

houyi平台-开发指南-控制层开发

作者: do_young | 来源:发表于2020-01-19 16:21 被阅读0次

    REST-API开发指南

    Controller示例

    在服务工程的com.hxhealth.xxx.controller下创建一个XXController.java

      @Controller 
      public  class  XXController  {
      }
    

    CookieValue示例

    注释表明,CookieValue方法的参数可以绑定到HTTP的Cookie。支持在Servlet和Portlet环境注明处理方法。

    
      @RequestMapping  ("/userList") 
      public  String  delete(@CookieValue("JSESSIONID")  String sessionId ){ 
      }
    

    RequestHeader示例

    
      @RequestMapping("/showJavaBlogerInfo") 
      public  void showHeadInfo( 
      @RequestHeader("User-Agent"),String userAgent, 
      @RequestHeader("Accept-Encoding"),String encoding, 
      @RequestHeader("Keep-Alive"),long keepAlive,  ){ 
      }
    

    HttpMethod

    
      @RequestMapping  (metthod=RequestMethod.DELETE) 
      public  void  delete  (@RequestParam  String userId)  { 
      System.out.println(userId); 
      }
    

    RequestMapping

    可以在@RequestMapping注解中用{}来表明它的变量部分,例如:

    
      @RequestMapping("/users/{username}")
    

    RequestParam

    参数绑定说明:当方法中带有参数时,可以采用@RequestParam 绑定单个请求参数值

    
      @RequestMapping(value =  {"/selectPaperDatum}"}, method =  RequestMethod.GET)
      public  ItooResult selectPaperDatum(@RequestParm("studentId")  String studentId)  {
      }
    

    API文档开发指南

    说明

    开发平台API文档是通过在Rest接口编写swagger注解,通过技术组件反射来动态生产API文档元数据信息。下面具体说明一下注解的使用。

    @Api

    用于类上,说明该类的作用。可以标记一个Controller类做为swagger 文档资源

    
      @Api(value =  "xxx", description =  "xxx")
    
    注解 属性 备注
    Api value url的路径值
    tags 如果设置这个值、value的值会被覆盖
    description 对api资源的描述
    basePath 基本路径可以不配置
    position 如果配置多个Api 想改变显示的顺序位置
    produces For example, “application/json, application/xml”
    consumes For example, “application/json, application/xml”
    protocols Possible values: http, https, ws, wss.
    authorizations 高级特性认证时配置
    hidden 配置为true 将在文档中隐藏

    @ApiOperation

    用于方法上,说明方法的作用,每一个url资源的定义

    
      @ApiOperation(value =  "xxx",httpMethod="POST", notes=  "xxx",response=String.class)
    
    
    注解 属性 备注
    ApiOperation value url的路径值
    tags 如果设置这个值、value的值会被覆盖
    notes 对资源的描述
    position 如果配置多个 想改变显示的顺序位置
    produces For example, “application/json, application/xml”
    consumes For example, “application/json, application/xml”
    protocols Possible values: http, https, ws, wss.
    authorizations 高级特性认证时配置
    hidden 配置为true 将在文档中隐藏
    response 返回的对象
    responseContainer 这些对象是有效的 “List”, “Set” or “Map”.,其他无效
    httpMethod GET, “HEAD”, “POST”, “PUT”, “DELETE”, “OPTIONS” and “PATCH”
    code http的状态码 默认 200
    extensions 扩展属性

    @ApiParam

    用于方法、参数、字段上,请求属性

    
      @ApiParam(value =  "Created user object", required =  true)
      public  ResponseEntity<User> createUser(@RequestBody  User user)
    
    注解 属性 备注
    ApiParam name 属性名称
    value 属性值
    defaultValue 默认属性值
    allowableValues 可以不配置
    required 是否属性必填
    access
    allowMultiple 默认为false
    hidden 隐藏该属性
    example 示例

    @ApiResponses

    用于方法上,响应集配置

    
      @ApiResponses({  @ApiResponse(code =  400, message =  "Invalid Order")  })
    

    @ApiResponse

    用于方法上,响应配置

    
      @ApiResponse(code =  400, message =  "Invalid user supplied")
    
    注解 属性 备注
    ApiResponse code http的状态码
    message 描述
    response 默认响应类 Void
    reference 参考ApiOperation中配置
    responseHeaders 参考 ResponseHeader 属性配置说明
    responseContainer 参考ApiOperation中配置

    @ResponseHeader

    用于方法上,响应头设置

    
      @ResponseHeader(name="head1",description="response head conf")
    
    注解 属性 备注
    name 响应头名称
    description 头描述
    response 默认响应类 Void
    responseContainer 参考ApiOperation中配置

    @ApiImplicitParams

    用于方法上,包含一组参数说明

    @ApiImplicitParam

    用于方法上,用在@ApiImplicitParams注解中,指定一个请求参数的各个方面

    注解 属性 备注
    paramType 参数放在哪个地方
    name 参数代表的含义
    value 参数名称
    dataType 参数类型,有String/int,无用
    required 是否必要
    defaultValue 参数的默认值

    @ApiModel

    用于类上,描述一个Model的信息(这种一般用在post创建的时候,使用@RequestBody这样的场景,请求参数无法使用@ApiImplicitParam注解进行描述的时候

    @ApiModelProperty

    用于方法、字段上,描述一个model的属性

    @ApiIgnore

    用于类,属性,方法上,忽略某项api,使用@ApiIgnore

    相关文章

      网友评论

          本文标题:houyi平台-开发指南-控制层开发

          本文链接:https://www.haomeiwen.com/subject/puirzctx.html