相信JAVA后端的同学们会经常看到都会经常看到@RequestBody、@pathvariable、@RequestParam
, 什么时候该用什么样的注解或者是不用注解 。让我们来了解一下 。
RequestParamRequestParam会获取url链接上面的参数内容 , 然后获取匹配的参数作为接口参数传递给方法执行逻辑 。如果请求的参数和接口方法参数名称一致 , 可以不需要显式使用该注解 , 例子如下:
package com.example.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import org.springframework.web.bind.annotation.RestController;@SpringBootApplication@RestController("/")public class DemoApplication {public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}/*** 接口参数使用默认** @param var1* @param var2* @return*/@GetMapping("/getTest")public String getTest(String var1,String var2) {return "getTest: " + var1 + "---" + var2;}@GetMapping("/getTestWithRequestParam")public String getTest1(@RequestParam("var3") String var1, String var2) {return "getTest: " + var1 + "---" + var2;}}
在本地起一个简单的springboot项目之后 , 简单修改一下代码 , 分别请求两个接口,大家猜猜分别返回什么?
请求1:http://localhost:8080/getTest?var1=1&var2=22&var3=333返回:getTest: 1---22请求2:http://localhost:8080/getTestWithRequestParam?var1=1&var2=22&var3=333返回:getTest: 333---22
从上面的例子可以看出 , 如果不指定@RequestParam的值 , 默认会获取同名参数 , 如果指定值 , 则会在url中获取对应名称的值 。
另外 , 点进@RequestParam注解中 , 我们可以看到有对应三个参数,分别对应参数名 , 参数值以及是否必填
【你的接口参数怎么接收的】package org.springframework.web.bind.annotation;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;import org.springframework.core.annotation.AliasFor;@Target({ElementType.PARAMETER})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface RequestParam {@AliasFor("name")String value() default "";@AliasFor("value")String name() default "";boolean required() default true;String defaultValue() default "nttnttnue000ue001ue002nttttn";}
推荐阅读
- 健脾养胃的茶,5款健脾养胃茶呵护你的胃
- 异性暗恋你的常见表现有哪些
- 喝茶加点糖可舒缓情绪,治愈你的小情绪
- VueJS中使用前端虚拟接口Mock.js
- 主板上的那些接口 你会用吗?
- |被领导信任是提拔重用的前提,掌握这6招,你的未来可期
- |工作努力却不得提拔,懂得汇报,让领导看到你的努力
- 接口测试很难吗?学会JMeter+Ant接口自动化搭建及实践
- httpClient 请求接口如何优雅的重试
- 老班章普洱茶的功效,你的老班章够正宗吗