Springboot 请求数据

请求方式
get
  1. 用RequestMapping
@RequestMapping("/hello") // 默认为get方式,或者可以写成@RequestMapping(value="/hello", method.RequestMethod.GET)
public String say() {
	return "hello";
}
  1. 用GetMapping
@GetMapping("/hello1")
public String say1() {
	return "hello";
}
  1. 有参方法
    请求时在浏览器中输入: localhost:8080/hello?name=zhangsan&age=18
    这个实体类里应有get set方法,要不返回为空
@RequestMapping("/hello2")
public String say2(Person person) {
	return person.toString();
}

public class Person {

    private String name;
    private int age;

    public String getName() {
        return name;
    }
    public int getAge() {
        return age;
    }
    public void setName(String name) {
        this.name = name;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public String toString() {
        return "name:" + name + ";age:" + age;
    }
}

请求时在浏览器中输入: localhost:8080/hello3/77?name=zhangsan&age=18

@RequestMapping("/hello3/{id}")
public String say3(@PathVariable(value="id") Integer id,
				   @RequestParam(value="name") String name,
				   @RequestParam(value="age", required=false, defaultValue="1000") String age
				){
	return "id: " + id + ", name: " + name + ", age: " + age;
}
post
  1. 用RequestMapping
@RequestMapping("/hello4", method=RequestMethod.POST)
public String say4() {
	return "hello 4";
}
  1. 用PostMapping
@PostMapping("/hello5")
public String say5() {
	return "hello 5";
}
  1. 有参方法,模拟post请求需要下载postman等插件进行模拟
    与get区别在于应在实体类上加@RequestBody注解,原因未知
@PostMapping("/hello6")
public String say6(@RequestBody Person person) {
	System.out.println(person.toString());
	return person.toString();
}

post发送请求用x-www-form-urlencoded格式可以传递参数,用form-data只会有默认值,具体区别请参考 https://blog.csdn.net/u013827143/article/details/86222486

@PostMapping("/hello7")
public String say7(@RequestParam(value="name") String name,
				   @RequestParam(value="age") String age) {
	String result = "name: " + name + ", age:" + age;
	System.out.println(result);
	return result;
}
http请求格式
请求部分请求内容
状态行(请求方法+请求协议)GET /test.html HTTP/1.1
请求头Accept: image/gif
请求体
POST提交数据方式区别
application/x-www-form-urlencoded
multipart/form-data
application/json
text/xml
Spring Boot 是基于 Spring Framework 的快速开发框架,它可以帮助开发者快速构建 Web 应用程序。在 Spring Boot 中,请求处理是通过控制器(Controller)实现的。 控制器是一个带有 @Controller 注解的类,它包含处理 HTTP 请求的方法。每个方法都使用特定的请求路径和 HTTP 方法(GET、POST、PUT、DELETE 等)进行映射。例如,以下代码段显示了一个控制器类的示例: ``` @Controller @RequestMapping("/user") public class UserController { @GetMapping("/{id}") public ResponseEntity<User> getUserById(@PathVariable Long id) { // 处理获取用户信息的逻辑 User user = userService.getUserById(id); return ResponseEntity.ok(user); } @PostMapping("/") public ResponseEntity<User> createUser(@RequestBody User user) { // 处理创建用户的逻辑 User newUser = userService.createUser(user); return ResponseEntity.ok(newUser); } } ``` 在这个示例中,我们定义了一个名为 UserController 的控制器类,并使用 @RequestMapping 注解指定了该控制器的基本请求路径为 "/user"。然后,我们定义了两个方法,一个用于获取用户信息,另一个用于创建用户。这些方法使用 @GetMapping 和 @PostMapping 注解分别指定了 GET 和 POST 请求的路径和方法类型。 在这些方法中,我们可以通过参数获取请求中的数据,例如在 getUserById 方法中,我们使用 @PathVariable 注解获取请求路径中的参数 id。在 createUser 方法中,我们使用 @RequestBody 注解获取请求体中的数据,并将其转换为 User 对象。 最后,这些方法会返回一个 ResponseEntity 对象,该对象包含响应数据和 HTTP 状态码。在这个例子中,我们使用 ResponseEntity.ok() 方法返回一个 HTTP 状态码为 200(OK)的响应,并将获取或创建的用户对象作为响应数据返回。 这就是 Spring Boot 中请求处理的基本流程。开发者只需要编写控制器类和处理方法,Spring Boot 就会自动将请求路由到正确的方法,并处理响应。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值