Spring Boot教程之十一:获取Request 请求 和 Put请求

如何在 Spring Boot 中获取Request Body?

Java 语言是所有编程语言中最流行的语言之一。使用 Java 编程语言有几个优点,无论是出于安全目的还是构建大型分发项目。使用 Java 的优点之一是 Java 试图借助类、继承、多态等概念将语言中的每个概念与现实世界联系起来。

Java 中还有其他几个概念可以增强 Java 代码和程序员之间的用户友好交互,例如泛型、访问说明符、注释等。这些功能为 Java 程序的类和方法添加了额外的属性。在本文中,我们将讨论如何在 Spring Boot 中获取传入Request Body。

@RequestBody:注解用于获取传入请求中的请求主体。

要掌握 Spring Boot 并有效处理请求主体和数据处理,请考虑参加Java 后端直播课程。本课程涵盖了请求处理等基本后端开发主题,并帮助您构建强大、可扩展的 API。在此处了解更多信息。

Spring Initializr是一个基于 Web 的工具,使用它我们可以轻松生成 Spring Boot 项目的结构。它还为以元数据模型表达的项目提供了各种功能。此模型允许我们配置 JVM 支持的依赖项列表。在这里,我们将使用 spring 初始化程序创建应用程序的结构,然后使用 IDE 创建示例 GET 路由。因此,为此,请按顺序执行以下步骤:

****步骤 1:****转到Spring Initializr

根据要求填写详细信息。对于此应用程序:

复制代码
Project: Maven
Language: Java
Spring Boot: 2.2.8
Packaging: JAR
Java: 8
Dependencies: Spring Web   

****第 2 步:****单击"生成"按钮,下载启动项目。

步骤 3: 解压 zip 文件。现在打开合适的 IDE,然后转到文件->新建->从现有源 创建项目->Spring-boot-app并选择 pom.xml。单击提示中的导入更改并等待项目同步。

****注意:****在导入 Maven 项目窗口中,确保选择与创建项目时选择的 JDK 版本相同的版本。

步骤 4: 转到src -> main -> java -> com.gfg.Spring.boot.app并创建一个名为 Controller 的 Java 类,并添加注释 @RestController。现在创建一个 GET API,如下所示:

例子:

Person.java

Java

// Class

public class Person {

// Attributes of Person

int id;

String name;

int age;

// Constructor of this class

public Person(int id, String name, int age) {

// this keyword refers to current instance object

this.id = id;

this.name = name;

this.age = age;

}

// Method of Person class

// toString() method

public String toString() {

// Simply returning the name and age of person

return id + " " + name + " " + age;

}

Controller.java

Java

@RestController

public class Controller {

@GetMapping("/Get")

public void getBody() {

// Creating a new Person object by calling a method that creates and returns a Person object

Person ob = createPerson();

// Print and display the person object

System.out.println(ob);

}

private Person createPerson() {

// Create and return a new Person object

return new Person(1, "Aayush", 32);

}

}

此应用程序现已准备好运行。运行Main类并等待 Tomcat 服务器启动。

****注意:****这里我们没有使用 @RequestBody 注释,因为它用于处理 POST 请求;由于我们没有在请求正文中发送任何数据,所以这里不需要 @RequestBody 注释。

如果我们想添加 @RequestBody 注释来处理 GET 请求,我们应该使用不同的 HTTP 方法,即 @PostMapping 而不是 @GetMapping。下面是相同的代码实现。

Java

@RestController

public class Controller

{

@PostMapping("/Get")

public void getBody(@RequestBody Person ob)

{

// Print and display the person object

System.out.println(ob);

}

}

我们不必创建 Person 对象,因为当向端点发出****/Get**** 请求时,ob参数将自动与来自请求正文的数据相关联。

注意: 对象的创建将由 Spring 框架根据请求体中的 JSON 数据来处理。Person

****步骤5:****现在转到Postman并添加URL地址并发出获取请求。

注意: Tomcat 服务器的默认端口是 8080,可以在 application.properties 文件中更改。

****输出:****最后将在下面的终端/CMD 上生成如下输出:

复制代码
1 Aayush 32

如何在 Spring Boot 中发出 Put 请求?

Java 语言是所有编程语言中最流行的语言之一。使用 Java 编程语言有几个优点,无论是出于安全目的还是构建大型分发项目。使用 JAVA 的优点之一是 Java 试图借助类、继承、多态等概念将语言中的每个概念与现实世界联系起来。

Java 中还有其他几个概念可以增强 Java 代码和程序员之间的用户友好交互,例如泛型、访问说明符、注释等。这些功能为类以及 Java 程序的方法添加了额外的属性。在本文中,我们将讨论如何请求 Spring Boot。

PUT 和 POST 请求之间的区别

当我们必须更新特定数据时,通常使用 Put 请求,而当我们必须添加数据库中不存在的新数据时,则使用 Post 请求。

@PutMapping:此 spring boot 注释用于处理来自客户端的传入 put 请求。

****注意:****首先我们需要在我们的项目中建立 spring 应用程序。

Spring Initializr是一个基于 Web 的工具,使用它我们可以轻松生成 Spring Boot 项目的结构。它还为以元数据模型表达的项目提供了各种不同的功能。此模型允许我们配置 JVM 支持的依赖项列表。在这里,我们将使用 spring 初始化程序创建应用程序的结构。

因此,要做到这一点,请按如下顺序执行以下步骤:

****步骤 1:****转到 Spring Initializr

****第 2 步:****根据要求填写详细信息。对于此申请:

复制代码
Project: Maven
Language: Java
Spring Boot: 2.2.8
Packaging: JAR
Java: 8
Dependencies: Spring Web

****步骤3:****单击"生成"将下载启动项目。

步骤 4: 解压 zip 文件。现在打开合适的 IDE,然后转到文件->新建->从现有源创建项目->Spring-boot-app并选择 pom.xml。单击提示中的导入更改并等待项目同步。

****注意:****在导入 Maven 项目窗口中,确保选择与创建项目时选择的 JDK 版本相同的版本。

步骤 5: 转到src -> main -> java -> com.gfg.Spring.boot.app,创建一个名为 Controller 的 java 类并添加注释 @RestController。现在创建一个 put API,如下所示:

  • Java

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| // Annotation @RestController // Class public class Controller { ArrayList<Integer>ans; // Constructor of this class Controller() { ans = new ArrayList<Integer>(); ans.add(1); ans.add(2); ans.add(3); } // Annotation @PutMapping("/change/{id}") // Method void change(``@PathVariable int id) { System.out.println(ans); ans.remove(id); ans.set(id, 45); System.out.println(ans); } } |

此应用程序现已准备好运行。运行 SpringBootAppApplication 类并等待 Tomcat 服务器启动。

注意: Tomcat 服务器的默认端口是 8080,可以在 application.properties 文件中更改。

****步骤 6:****现在转到Postman并添加URL 地址并发出 put 请求,如下图所示:

****输出:****最后将在终端/ CMD上生成输出

复制代码
[1, 2, 3] 
[1, 45, 3] 
相关推荐
David猪大卫几秒前
【C++修炼】异常
开发语言·c++·经验分享·笔记·学习·考研·面试
reasonsummer几秒前
【办公类-146-07】20260906《总园大班6个班级四大教育》(优化版:标题excle+复制AI文字+Python占位符录入)
人工智能·python·c#
程序员清风3 分钟前
从 JVM 内存模型到 GC 调优:Java 服务性能优化实战
java·jvm·性能优化
玖玥拾11 分钟前
Lua 基础语法(六)xLua Lua 调用 C# 交互
开发语言·unity·c#·lua
Joolun商城源码_Java14 分钟前
Java 商城技术栈怎么选:单体、微服务还是前后端分离多端?
java·开发语言·微服务
charlie11451419115 分钟前
浅谈C++的列表初始化std::initializer_list
开发语言·数据结构·c++·list·开源项目
2601_9622845016 分钟前
利用Python语言实现实验室自动化
python·自动化·数据采集·labview·科学计算
隐擎fox18 分钟前
网络传输中的 DNS 泄漏成因剖析与 Python 自动化检测排查实战
python·网络协议·自动化·dns·ip/tcp
拒绝内耗。19 分钟前
一个请求进入 Java 应用后,怎么找到我们写的方法?
java·开发语言
励志不掉头发的内向程序员23 分钟前
【LibreCAD 2D架构】RS_Line创建之后发生了什么?从图形容器到屏幕渲染
开发语言·c++·qt·学习·系统架构