你的接口参数怎么接收的

相信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";}


    推荐阅读