参考
- https://blog.csdn.net/suki_rong/article/details/80445880
- https://zhuanlan.zhihu.com/p/34597391
- https://juejin.cn/post/6922469125033820168
环境
环境 | 版本 | 操作 |
---|---|---|
windows | 10 | |
JDK | 11 | |
Springboot | 2.3.12.RELEASE |
正文
package com.example.demo.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import lombok.Data;
import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
@RestController
@RequestMapping("/")
public class IndexController {
/**
* 路径参数 url/{id}
* @param id
* @return
*/
@GetMapping("path/{id}")
public Integer path(@PathVariable(name = "id") Integer id) {
return id;
}
/**
* 查询参数 url?name=
* @param name
* @return
*/
@GetMapping("query")
public String query(@RequestParam(name = "name") String name){
return name;
}
/**
* Body参数 请求内容为 json {"name":"张三"},此处如果使用对象类型接收,则自动转换为对象,通过get、set进行获取请求参数。
* @param body
* @return
*/
@PostMapping("body_json")
public String bodyJson(@RequestBody RequestJson body){
return body.getName();
}
/**
* Body参数 请求内容为字符串 "hello world",此处应用场景为当参数加密作为字符串放到body中的时候,可以通过`@RequestBody String body`获取body内的所有内容
* @param body
* @return
*/
@PostMapping("body_string")
public String bodyString(@RequestBody String body){
return body;
}
/**
* FormData参数 逐个参数接收
* @param name
* @return
*/
@PostMapping("form_data1")
public String formData1(@RequestParam String name){
return name;
}
/**
* FormData参数 对象接收
* @param name
* @return
*/
@PostMapping("form_data2")
public String formData2(RequestJson body){
return body.getName();
}
/**
* FormData参数 数组接收
* @param name
* @return
*/
@PostMapping("form_data3")
public String formData3(@RequestParam(name = "name[0][1]") String name){
return name;
}
/**
* FormData参数 单文件上传
* @param name
* @return
*/
@PostMapping("form_data4")
public String formData4( @RequestParam("file") MultipartFile file, RequestData requestData){
System.out.println("文件大小:"+file.getSize());
return requestData.getName();
}
/**
* FormData参数 多文件上传
* @param name
* @return
*/
@PostMapping("form_data5")
public String formData5( @RequestParam("files") MultipartFile[] files, RequestData requestData){
System.out.println("文件大小:"+files.length);
return requestData.getName();
}
/**
* x-www-from-urlencode参数 单参数接收
* @param name
* @return
*/
@PostMapping("x_www_from_url_encode1")
public String xWWWFromUrlEncode1(@RequestParam String name){
return name;
}
/**
* x-www-from-urlencode参数 Map接收
* @param name
* @return
*/
@PostMapping("x_www_from_url_encode2")
public String xWWWFromUrlEncode2(@RequestBody MultiValueMap<String, String> values){
return values.get("name").toString();
}
}
/**
* 请求 body json实体
*/
@Data
class RequestJson {
private String name;
}
/**
* 请求参数对象
*/
@Data
class RequestData {
private String name;
}
标签:body,接收,return,name,param,Springboot2,转载,public,String
From: https://www.cnblogs.com/xiaqiuchu/p/17896577.html