SpringBoot中请求响应

Spring Boot

特点:一种java开发框架,用来简化Spring 应用程序的初始设置和开发过程

请求响应

在学习Spring boot之前应了解Http协议的内容,了解请求数据格式与响应格式

其中请求数据格式常用分为四个:___

响应状态大体分为五类,常用的有:

  • 200 表示成功接受请求并响应
  • 400与404 表示无法找到对应网址,可能原因为接受参数类型或参数名出错,或者未加对应注释;也可能是因为网址名写错了
  • 500 代表服务端代码出错了,请立即打开调试功能进行代码处理
请求

请求是客户端向服务器发送的一次HTTP请求,客户端可以是浏览器、移动应用或其他发送HTTP请求的客户端程序。请求包含了客户端想要执行的操作(如获取资源、提交表单等)以及相关的请求参数、请求头等信息。

请求方法:常见的HTTP请求方法包括get(查),post(增),put(改),delete(删)等,每种方法对应着不同的操作。

请求体:请求还可以包含请求体,用于传递额外的数据

请求体分为多种类型,如简单参数,对象,数组集合,日期参数,json形式参数,路径参数

http://localhost:8080/ArrayParam?name=tom&age=18

name=tom&age=18就是一个请求体,而JSON形式的参数由于长度限制,不适合使用GET方法接收

接收请求:对于不同请求体类型,所接受的方法类型也有所不同

  • 普通数据类型:定义 方法形参,请求参数名与形参变量名一致(如果接受参数过多,可以构建一个类来进行接收)用类来接受请求中的参数时,如果请求中没有对应参数数据,类中没有对应的属性值为null

  • 集合:使用@RequestParam注解来接收集合的请求信息(集合名要和参数名一样)

  • 日期参数:与集合同理

  • JSON数据:大多数post与put请求都是使用JSON格式封装,与接受普通数据类型唯一不同的一点就是需要在参数类型前添加@RequestBody注解,注意:如果只有一个像Long类型这样的包装类变量,你可能会直接使用Long接收,但实际上接收到的JSON数据是一个对象,而不是一个简单的值。所以不能使用包装类来接受一个JSON对象,可以将他封装为一个对象,尽管这个类中只有一个属性

  • 路径参数:使用@PathVariable接收

import org.springframework.web.bind.annotation.*;

import java.util.Date;
import java.util.List;
import java.util.Set;

@RestController
public class MyController {

    // 普通数据类型
    @GetMapping("/example1")
    public String handleExample1(@RequestParam String param1, @RequestParam Integer param2) {
        System.out.println("param1: " + param1);
        System.out.println("param2: " + param2);
        return "Example1 handled successfully";
    }

    // 集合
    @GetMapping("/example2")
    public String handleExample2(@RequestParam List<String> names, @RequestParam Set<String> ages) {
        System.out.println("names: " + names);
        System.out.println("ages: " + ages);
        return "Example2 handled successfully";
    }

    // 日期参数
    @GetMapping("/example3")
    public String handleExample3(@RequestParam Date date, @RequestParam LocalDate localDate) {
        System.out.println("date: " + date);
        System.out.println("localDate: " + localDate);
        return "Example3 handled successfully";
    }

    // JSON数据
    @PostMapping("/example4")
    public String handleExample4(@RequestBody MyObject myObject) {
        System.out.println("myObject: " + myObject);
        return "Example4 handled successfully";
    }

    // 路径参数
    @GetMapping("/example5/{id}")
    public String handleExample5(@PathVariable Long id) {
        System.out.println("id: " + id);
        return "Example5 handled successfully";
    }
}

class MyObject {
    private String name;
    private Integer age;

    // Getter and Setter
    // ...

    @Override
    public String toString() {
        return "MyObject{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }
}

响应

服务器接收到请求后,会进行相应的处理,并生成一个响应(Response)返回给客户端。响应包含了服务器对请求的处理结果,以及相关的响应状态码、响应头等信息。

常见的HTTP响应状态码包括200(成功)、404(未找到)、500(服务器内部错误)等,每个状态码都有特定的含义。响应还可以包含响应体,用于返回请求的结果数据,如HTML页面、JSON数据等。

统一的响应结果:返回Result对象,经过@ResponseBody处理响应给客服端JSON格式数据(前端拿到JSON格式数据)

总结

请求和响应是Web开发中实现客户端与服务器之间通信的基础。通过请求和响应,客户端可以向服务器发送请求并获取相应的结果,实现数据的传输和交互。在开发过程中,我们需要理解和处理请求和响应的相关信息,以实现所需的功能和交互效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值