接口Request传参的常用注解

1、 @PathVariable

当使用@RequestMapping URI template 样式映射时, 即 someUrl/{paramId}, 这时的paramId可通过 @Pathvariable注解绑定它传过来的值到方法的参数上。

@Controller
@RequestMapping("/owners/{ownerId}")
public class RelativePathUriTemplateController { 

  @RequestMapping("/pets/{petId}")
  public void findPet(@PathVariable String ownerId,@PathVariable String petId, Model model) {
    // implementation omitted
  }
} 

上面代码把URI template 中变量 ownerId的值和petId的值,绑定到方法的参数上。若方法参数名称和需要绑定的uri template中变量名称不一致,需要在@PathVariable("name")指定uri template中的名称。

2、 @RequestHeader和@CookieValue

  @RequestHeader 注解,可以把Request请求header部分的值绑定到方法的参数上。

  这是一个Request 的header部分:

Host                    localhost:8080
Accept                  text/html,application/xhtml+xml,application/xml;q=0.9
Accept-Language         fr,en-gb;q=0.7,en;q=0.3
Accept-Encoding         gzip,deflate
Accept-Charset          ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive              300 
@RequestMapping("/displayHeaderInfo.do")
public void displayHeaderInfo(@RequestHeader("Accept-Encoding") String encoding,
                              @RequestHeader("Keep-Alive") long keepAlive)  {

  //...

上面的代码,把request header部分的 Accept-Encoding的值,绑定到参数encoding上了, Keep-Alive header的值绑定到参数keepAlive上。

@CookieValue 可以把Request header中关于cookie的值绑定到方法的参数上。

例如有如下Cookie值:

//如JSESSIONID=415A4AC178C59DACE0B2C9CA727CDD84
@RequestMapping("/displayHeaderInfo.do")
public void displayHeaderInfo(@CookieValue("JSESSIONID") String cookie)  {
  //...
}//即把JSESSIONID的值绑定到参数cookie上。

3、@RequestParam, @RequestBody

@RequestParam

  常用来处理简单类型的绑定,该注解有两个属性: value、required; value用来指定要传入值的id名称,required用来指示参数是否必须绑定;

@RequestBody

  该注解常用来处理Content-Type: application/json, application/xml等内容;

原文地址:https://www.cnblogs.com/lcx20190724xxz/p/11237182.html

时间: 2024-10-23 00:35:56

接口Request传参的常用注解的相关文章

Java接口实现传参

package com.gezhi.interfaces;/** * 新建一个dog类实现接口livingable(狗吃和上厕所都是与生俱来的不应该写成接口) * @author square 凉 * */public class Dog implements Livingable{ private String dogName; private int dogAge;  public String getDogName() {  return dogName; } public void se

HttpUrlconnection POST提交 用于接口调用传参

package com.jr.demo; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; public class C { pu

WebApi 接口参数不再困惑:传参详解

转自:http://www.cnblogs.com/landeanfen/p/5337072.html 阅读目录 一.get请求 1.基础类型参数 2.实体作为参数 3.数组作为参数 4.“怪异”的get请求 二.post请求 1.基础类型参数 2.实体作为参数 3.数组作为参数 4.后台发送请求参数的传递 三.put请求 1.基础类型参数 2.实体作为参数 3.数组作为参数 四.delete请求 五.总结 正文 前言:还记得刚使用WebApi那会儿,被它的传参机制折腾了好久,查阅了半天资料.如

wx.request中POST方法传参问题,用到JSON.stringify()

前面用到了get方法传参,现在post也需要传参传输内容进去,下面我来一步步研究: 遇到的问题: 传参进去后反馈参数为空,没有报错.错误代码如下: wx.request({ url: '某地址', method: "post", data: { msg: { "phone": "某电话", "content": this.data.text, "date":this.data.time } }, heade

接口开发注意传参问题

1 接口开发注意传参问题: 2 3 php中的curl()函数进行post请求的时候,传递数据的格式可以有以下几种方式: 4 5 (1):由参数拼接而成的key=>value键值对字符串.形如以下: name=xxx&age=23$sex=1 6 7 这种请求参数默认是按照application/x-www-form-urlencoded进行编码的. 8 9 (2):由参数组成的key=>value键值对数组(只能是一维数组,更高维度的数组会报错). 10 11 形如以下格式: 12

C#进阶系列——WebApi 接口参数不再困惑:传参详解

C#进阶系列--WebApi 接口参数不再困惑:传参详解

ASP.NET WebAPI RC 竟然不支持最常用的json传参

壮士断腕(WCF Web API),为的是 ASP.NET Web API 的横空出世,再加上它的开放(开源),于是对之产生了一点点痴情,并写下了HttpClient + ASP.NET Web API, WCF之外的另一个选择.那时,ASP.NET Web API 还处于 beta 阶段,俗话说女大十八变,自然对 ASP.NET Web API RC 产生了憧憬... ASP.NET Web API RC 闪亮登场之后,还未一睹庐山真面目,就有人陆陆续续反馈之前博文中的示例代码在 ASP.NE

日期对象的常用用法(传参以及转字符串日期)

一.传参 我们用var now=new Date() 获得自定义的时间对象 函数中没有传递任何参数,表示此对象now自动获取了当前的时间. 如果想要创建一个自定义时间的对象,需要在new Date()中传递参数,接收毫秒数. 可以使用Date.parse()来获得自定义时间的毫秒数. 4种方法如下: var mydate1=new Date(Date.parse("12/12/2013")); console.log(mydate1); var mydate2=new Date(&qu

vue-cli常用传参方式

文章内容:vue中父子组件传参.哒哒哒还没写完 一.父子组件 1.1父传子(props) <!-- 父组件father.vue --> <template> <div> <div>这里是father组件</div> <div>这是父组件要传给子组件的参数:{{msg}}</div> <!-- 1.传递:data1为动态参数msg的参数名,名字自定义,与子组件接收参数名同名 data2为静态参数的参数名,名字自定义,与