下面我来详细讲解"springboot @RequestBody 接收字符串实例"的完整攻略。
1. @RequestBody 简介
@RequestBody
注解用于接收前端发送的请求体数据,常用于POST请求中。使用该注解可以让SpringBoot自动将请求体转化为方法的参数。
2. 使用步骤
接收字符串类型的@RequestBody
,主要有以下两个步骤:
2.1 定义Controller方法
示例代码:
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class DemoController {
@PostMapping("/demo")
public String demoMethod(@RequestBody String str) {
System.out.println(str);
// 返回字符串
return "Hello " + str;
}
}
在DemoController
中,定义了一个demoMethod
的方法,并用@PostMapping
注解指定了该方法响应的请求路径。方法的参数使用了@RequestBody
,表示该方法接收的参数是请求体中的字符串类型数据。在方法体中,将接收到的字符串打印,并将“Hello”和该字符串返回给前端。
2.2 发送请求
使用POSTMAN或其他客户端工具,向路径为"/demo"的接口发送POST请求:
POST /demo HTTP/1.1
Host: localhost:8080
Content-Type: application/json
"world"
POST请求中的Content-Type要设置为application/json。请求体中的数据为一个字符串,表示一个人的名字。服务器响应如下:
HTTP/1.1 200 OK
Content-Type: text/plain;charset=UTF-8
Hello world
服务器响应了一个字符串 "Hello world",表示接收到的请求体数据已经成功处理并输出到控制台中。
3. 示例说明
除了上面的示例外,我们再看一个使用@RequestBody
接收json
数据,并将其转为对象的例子。
3.1 定义Controller方法
定义一个User
类来接收请求体中的json
数据,并定义一个方法使用该类作为参数。
示例代码:
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class UserController {
@PostMapping("/user")
public String addUser(@RequestBody User user){
System.out.println("add user:" + user.toString());
return "Add User success.";
}
}
在这个例子中,我们定义了一个UserController
类,并使用@RestController
注解声明为RESTful类。然后定义了一个addUser
方法并使用@PostMapping
注解来声明该方法是接收POST请求的。在方法参数上添加@RequestBody
注解来接收请求体中的对象。
3.2 发送请求
使用POSTMAN或其他客户端工具,向路径为"/user"的接口发送POST请求,请求体中为json格式的数据:
POST /user HTTP/1.1
Host: localhost:8080
Content-Type: application/json
{
"id":1,
"userName":"admin",
"password":"123456"
}
服务器响应如下:
HTTP/1.1 200 OK
Content-Type: text/plain;charset=UTF-8
Add User success.
服务器响应了一个字符串 "Add User success.",表示接收到的请求体数据已经成功处理并输出到控制台中。
4. 总结
@RequestBody
注解是SpringBoot中常用的一个注解,它可以用来接收前端传来的json数据,或者是字符串类型的数据。在使用它时,可以在方法参数上加上该注解,将请求体中的数据转化为所需数据类型并进行处理。希望本篇文章对你有帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:springboot @RequestBody 接收字符串实例 - Python技术站