使用路径变量增强 Hello World 服务

2025年1月20日 | 4 分钟阅读

@PathVariable 注解用于从 URI 中提取值。 它最适合于 URL 包含某些值的 RESTful Web 服务。 Spring MVC 允许我们在同一方法中使用多个 @PathVariable 注解。路径变量是创建 rest 资源的关键部分。

我们将使用路径参数创建另一个 hello-world-bean 请求。

步骤 1:打开 HelloWorldController.java 文件并添加另一个 helloWorldBean() 服务。

HelloWorldController.java

我们将传递给路径变量的任何值都由控制器获取并返回到响应。

步骤 2:键入 URL https://:8080///hello-world/path-variable/javatpoint

步骤 3:运行 HelloWorldController.java 文件。 我们在浏览器上得到以下响应。

Enhancing the Hello World Service with a Path Variable

让我们再次更改路径变量:https://:8080/hello-world/path-variable/Anubhav

Enhancing the Hello World Service with a Path Variable

我们可以看到,我们在路径变量中编写的任何内容都会返回到响应。

创建用户 Bean 和用户服务

在本节中,我们将创建真正的资源用户和帖子。 我们将使用静态数组列表来表示数据。

步骤 1:创建一个名为 com.javatpoint.server.main.user 的新包。

步骤 2:创建一个 bean 类 (User) 来存储用户详细信息。

右键单击包 user -> New -> Class -> 提供名称 -> 完成。 在这里,我们提供了类名 User。

步骤 3:定义三个私有变量 id、namedob

步骤 4:生成 GettersSetters

右键单击文件 -> Source -> Generate Getters and Setters... ->Select All -> Generate

步骤 5:生成 toString

右键单击文件 -> Source -> Generate toString... ->Select All -> Generate

步骤 6:生成 Constructors

右键单击文件 -> Source -> Generate Constructor using Fields... -> Generate

User.java

在进入下一步之前,首先将 HelloWorldBean.javaHelloWorldController.java 移动到包 com.javatpoint.server.main.helloworld 中。

步骤 7:在包 com.javatpoint.server.main.user 中创建一个名为 UserDaoService 的类。

UserDaoService.java

为用户资源实现 Get 方法

步骤 8:现在创建一个名为 UserResource 的用户控制器类。

UserResource.java

步骤 9:运行应用程序并在浏览器的地址栏中键入 localhost:8080/users。 它以 JSON 格式返回用户列表。

Enhancing the Hello World Service with a Path Variable

如果日期以默认时间戳格式显示为

"dob": "1500370250075"

我们需要设置正确的日期格式。

打开 application.properties 文件。 删除调试配置并添加以下配置

以上语句告诉 Jackson 框架,序列化时不要将日期视为时间戳。

步骤 10:如果我们想在浏览器上显示特定的用户详细信息,请添加映射 "/user/{id}" 并在 UserResource 中创建一个方法 retriveUser()

UserResource.java

步骤 11:运行应用程序并在浏览器中键入 localhost:8080/users/{id}。 它返回我们在路径变量中传递的特定用户 ID 的详细信息。

在下图中,我们检索了 ID 为 4 的用户的详细信息。

Enhancing the Hello World Service with a Path Variable