zoukankan      html  css  js  c++  java
  • @ApiParam @RequestParam @PathVariable 用法

    文章来源:https://www.cnblogs.com/hello-tl/p/9204279.html 

    1.@ApiParam ,是注解api的参数 ,也就是用于swagger提供开发者文档 ,文档中生成的注释内容 。

    2.@RequestParam , 是获取前端传递给后端的参数,可以是get方式,也可以是post方式。其中如果前端传递的参数和后端你接受的参数起的名字字段是一致的可以省略不写,也可以直接写@RequestParam String title,如果不一致一定要完整写,

    3.@PathVariable , 获取url后面参数,进行参数绑定

    package com.web.controller;
    
    import io.swagger.annotations.Api;
    import io.swagger.annotations.ApiOperation;
    import io.swagger.annotations.ApiParam;
    import org.springframework.web.bind.annotation.*;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    @Api(value="apiTest", description="apiTest 控制器")
    @RequestMapping("/apiTest")
    public class ApiTestController {
        // @ApiOperation    用于方法上
        // @ApiParam        用于方法,参数,字段说明,表示对参数的添加元数据(说明或是否必填等)
    
       // 1.@ApiParam   是注解api的参数 ,也就是用于swagger提供开发者文档 ,文档中生成的注释内容 。
        // 接受 POST 或者 GET 参数
        // @ApiOperation(value = "api说明", notes = "接口发布说明", httpMethod = "请求方式 [ POST | GET ]")
        @ApiOperation(value = "测试ApiOperation" , notes = "测试ApiOperation", httpMethod = "GET")
        // @RequestMapping(value = "URL地址" , method = "传输方式 [ RequestMethod.GET | RequestMethod.POST] ")
        @RequestMapping(value = "/ApiTest1" , method = RequestMethod.GET)
        public String ApiTest1(
                // @ApiParam ( name = "参数名称" , value = "api描述" , required = 是否必传[ true(必传) 接收的值 | false(非传) 默认等于 null ] ) 类型 参数绑定
                @ApiParam(name = "ApiParam",value="测试ApiParam",required = true) String ApiParam){
            /**
             * 访问 localhost:8080/apiTest/ApiTest1
             * 页面打印是空的并没有报错说 缺少ApiParam参数 这是因为 ---- ApiParam 里面 required 参数是配合 swagger-ui 用的
             *
             * 下伙子不要冲动---这是后可以访问一下 localhost:8080/apiTest/ApiTest2 试试
             */
            return ApiParam;
        }
    
       // 2.@RequestParam,是获取前端传递给后端的参数,可以是get方式,也可以是post方式。其中如果前端传递的参数和后端你接受的参数起的名字字段是一致的可以省略不写,也可以直接写@RequestParam String title,如果不一致一定要完整写
        // 接受 POST 或者 GET 参数
        @ApiOperation(value = "测试ApiOperation" , notes = "测试ApiOperation", httpMethod = "GET")
        @RequestMapping(value = "/ApiTest2" , method = RequestMethod.GET)
        public String ApiTest2(
                // @RequestParam(name = "参数名称",required = "是否必传[ true(必传) | false(非传) ] 默认 true", defaultValue = "默认值") 类型 参数绑定
                @ApiParam(name = "ApiParam",value="测试ApiParam",required = true)
                @RequestParam(name = "ApiParam",required = true) String ApiParam){
            /**
             * @RequestParam(name = "ApiParam",required = false, defaultValue = "ApiParam 默认值") String ApiParam
             * 访问 localhost:8080/apiTest/ApiTest2
             *      会返回 ApiParam 默认值
             *
             * @RequestParam(name = "ApiParam",required = true) String ApiParam
             * 访问 localhost:8080/apiTest/ApiTest2
             *      会报错 字符串参数 ApiParam 不存在
             *
             * 访问 localhost:8080/apiTest/ApiTest2?ApiParam=测试地址
             *      会返回 测试地址
             */
            return ApiParam;
        }
    
        // 3.获取url后面参数,进行参数绑定
        @ApiOperation(value = "测试ApiOperation" , notes = "测试ApiOperation", httpMethod = "GET")
        @RequestMapping(value = "/ApiTest3/{ApiParam}" , method = RequestMethod.GET)
        public String ApiTest3(
                @ApiParam(name = "ApiParam",value="测试ApiParam",required = true) @PathVariable String ApiParam){
            /**
             * 访问 localhost:8080/apiTest/ApiTest3
             *      出返回 404
             *
             * 访问 localhost:8080/apiTest/ApiTest3/测试地址
             *      出返回 测试地址
             */
            return ApiParam;
        }
    }
    

    文章来源:https://www.cnblogs.com/hello-tl/p/9204279.html 

  • 相关阅读:
    c# 无边框窗体显示任务栏菜单(系统菜单)
    C# 任务栏的相关信息
    C# 获取屏幕尺寸
    C# winform 中的Form 源码
    C# datagridview 的属性及事件
    C# datagridview 中添加下拉框,并绑定selectedindexchanged事件
    C# 键盘事件
    Struts2的国际化
    Struts2类型转换器
    Struts2的运行流程以及关键拦截器介绍
  • 原文地址:https://www.cnblogs.com/hello-tl/p/9204279.html
Copyright © 2011-2022 走看看