文章来源: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

@ApiParam @RequestParam @PathVariable 用法的更多相关文章

  1. @RequestParam和@PathVariable用法小结

    @RequestParam 使用@RequestParam接收前段参数比较方便,前端传参的URL: url = “${ctx}/main/mm/am/edit?Id=${Id}&name=${ ...

  2. @RequestParam和@RequestBody和@PathVariable用法小结

    @RequestParam 使用@RequestParam接收前段参数比较方便,前端传参的URL: url = "${ctx}/main/mm/am/edit?Id=${Id}&na ...

  3. SpringMVC常用注解實例詳解1:@Controller,@RequestMapping,@RequestParam,@PathVariable

    我的開發環境 框架:        springmvc+spring+freemarker 開發工具: springsource-tool-suite-2.9.0 JDK版本: 1.6.0_29 to ...

  4. @RequestParam @PathVariable

    1.Request参数 在访问各种各样网站时,经常会发现网站的URL的最后一部分形如:?xxxx=yyyy&zzzz=wwww.这就是HTTP协议中的Request参数,它有什么用呢?先来看一 ...

  5. SpringMVC @RequestBody @RequestParam @PathVariable 等参数绑定注解详解

    request 数据到handler method 参数数据的绑定所用到的注解和什么情形下使用: http://blog.csdn.net/walkerjong/article/details/794 ...

  6. @RequestParam,@PathVariable,@ResponseBody,@RequestBody,@ModelAttribute学习

    1.@RequestParam使用于参数上,用于将请求参数映射到指定参数变量上 例如: @RequestMapping(value="/hello",method=RequestM ...

  7. @RequestParam,@PathVariable,@RequestBody

    @RequestParam 和 @PathVariable 注解是用于从request中接收请求的,两个都可以接收参数,关键点不同的是@RequestParam 是从request里面拿取值,而 @P ...

  8. msql中@RequestParam、@Param、@PathVariable的用法

    @RequestParam的用法 1.可以对传入参数指定参数名,将请求参数绑定至方法参数 // 下面的对传入参数指定为aa,如果前端不传aa参数名,会报错 @RequestParam(value=&q ...

  9. springmvc请求路径和请求参数的获取注解- @PathVariable和@RequestParam

    @PathVariable和@RequestParam @PathVariable是从路径里面去获取变量,也就是把路径当做变量. @RequestParam是从请求里面获取参数. 如:url:http ...

随机推荐

  1. springboot(十二) SpringBoot 性能优化

    代码地址:https://github.com/showkawa/springBoot_2017/tree/master/spb-demo springboot优化主要有三类优化:1.包扫描优化 2. ...

  2. TC学习总结

    带宽管理: TC中规定描述带宽: mbps = 1024 kbps = 1024 * 1024 bps => byte/s mbit = 1024 kbit => kilo bit/s m ...

  3. UWP 剪贴板

    一:剪贴板 一般的复制,用户自己光标选中文本,crtl +c复制就可以了.但是有时候也需求有一个复制的按钮,当用户点击复制按钮,就可以把当前的某些内容复制到剪贴板里. 这里就用到了DataPackag ...

  4. Android APK加壳技术方案

    Android APK加壳技术方案[1] Android APK加壳技术方案[2]

  5. C51之数据范围

    在C51中各数据类型的范围如下:如果宏常量大于65536,则要加UL后缀:乘法运算不能只将结果强制类型转换,而应在被乘数前加(unsigned long)强制转换. 2 因为RAM有限,所以运算量大的 ...

  6. pyspark中使用累加器Accumulator统计指标

    评价分类模型的性能时需要用到以下四个指标 最开始使用以下代码计算,发现代码需要跑近一个小时,而且这一个小时都花在这四行代码上 # evaluate model TP = labelAndPreds.f ...

  7. Log4net系列一:Log4net搭建之文本格式输出

    Log4net简介 前言 项目开发中,记录项目日志是必须的,如果非要说日志的重要性(日志可看做,飞机的黑匣子,或者汽车的行车记录仪),根据等级进行记录,方便我们排查相关问题,以后项目运维中,也方便很多 ...

  8. 【学习笔记】深入理解js原型和闭包系列学习笔记——精华

    深入理解js原型和闭包笔记: 1.“一切皆是对象”,对象是属性的集合. 丨 函数也是对象,但是使用typeof时为什么函数返回function而 丨  不是object呢,js为何要对函数做这样的区分 ...

  9. mysql出错排查

    1,例如:Can't connect to local MySQL server through socket '/tmp/mysql-5.5.37.sock' (2) Mysql链接出错,请配置/A ...

  10. UVALive 2238 Fixed Partition Memory Management 固定分区内存管理(KM算法,变形)

    题意:目前有一部分可用内存,分为m个大小固定的区域.现有n个程序要执行,每个程序在不同大小的内存中运行所需的时间不同,要使运行完所有程序所耗时最少,问每个程序在哪块区域中从什么时间运行到什么时间,以及 ...