如何使用 springboot 创建简单的 rest api 先决条件项目设置项目结构解释代码创建您的第一个 API 恭喜😄 创建您的第二个 API 恭喜😄

2025-06-08

如何使用 springboot 创建简单的 rest api

先决条件

项目设置

项目结构说明

代码

创建您的第一个 API

恭喜😄

创建第二个 API

恭喜😄

这篇文章最初发表于adityasridhar.com

作为本文的一部分,您将使用 Springboot 构建两个简单的 REST API。本文将介绍如何快速上手 Springboot。

那么让我们开始吧😄

先决条件

在开始本文之前,请确保您的系统中已安装 Maven。

您可以从https://maven.apache.org/安装 Maven

还要确保 Maven 设置在 PATH 中,以便mvn命令能够正常工作。

您可以验证 Maven 是否已安装,并且可以使用命令进行访问

mvn -v

还要确保设置了JAVA_HOME 。

项目设置

第一步是设置您的项目。

设置 Springboot 项目非常简单。

转到https://start.spring.io/

在站点中,输入simple-rest-apis作为 Artifact 名称,并在依赖项下添加Web。您也可以输入任何其他 Artifact 名称。

另外,请确保您使用 Springboot 2.0.6版本创建了一个Java Maven项目,以确保本文的结果可复现。完成本文后,您可以选择其他选项进行实验 😄

输入信息后,屏幕应如下所示

Springboot Starter

点击“生成项目”,这会将一个 zip 文件下载到你的电脑上。解压此 zip 文件。解压后的文件夹就是你的 SpringBoot 项目。

您可以将项目导入到您喜欢的 IDE 中。我使用 Eclipse 进行了尝试。

项目结构说明

pom.xml

此文件包含所有 Maven 依赖项。
需要注意的主要依赖项如下:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

spring-boot-starter-web依赖项确保项目可用于 Web 应用程序

另外,在 pom.xml 中需要注意的另一件重要的事情是

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.6.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
</parent>

spring-boot-starter-parent被设置为该项目的父级。这确保 springboot 所需的任何内部依赖项都会自动处理,开发人员无需担心。

简单RestApis应用程序.Java

该文件以项目名称加上应用程序命名

该文件位于src/main/java文件夹和com.example.simplerestapis包内。

该文件包含以下代码

package com.example.simplerestapis;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SimpleRestApisApplication {

    public static void main(String[] args) {
        SpringApplication.run(SimpleRestApisApplication.class, args);
    }
}

这里最主要的亮点是注解@SpringBootApplication。它内部是以下 3 个注解的组合

  1. @Configuration:手动 Spring 配置所需。添加此注解可确保配置可以在 Java 类本身中完成,而无需使用单独的 XML 文件。
  2. @EnableAutoConfiguration:Spring 需要进行大量配置。此注解可确保许多配置自动完成。
  3. @ComponentScan:这告诉 Spring 在哪里扫描所有组件。

LineSpringApplication.run(SimpleRestApisApplication.class, args);引导应用程序。

应用程序.properties

该文件位于src/main/resources目录下。该文件可用于列出应用程序运行时需要用到的各种属性。例如,它可以用来指定应用程序应该在哪个端口上运行。

代码

此处构建的 API 代码可在此处找到

创建您的第一个 API

我们的第一个 API 将是演示 GET 请求的简单 API。

创建一个名为com.example.simplerestapis.models的包。在此包中创建一个名为SampleResponse.java的文件

将以下代码复制到SampleResponse.java中

package com.example.simplerestapis.models;
public class SampleResponse {
    private String message;
    private long id;

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

}

SampleResponse.java只是一个模型类。它指示 API 响应中存在的字段。

创建一个名为com.example.simplerestapis.controller的包。在此包中创建一个名为WebController.java的文件

将以下代码复制到WebController.java中

package com.example.simplerestapis.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.example.simplerestapis.models.SampleResponse;

@RestController
public class WebController {

    @RequestMapping("/sample")
    public SampleResponse Sample(@RequestParam(value = "name",
    defaultValue = "Robot") String name) {
        SampleResponse response = new SampleResponse();
        response.setId(1);
        response.setMessage("Your name is "+name);
        return response;

    }
}

在上面的代码中,注解@RestController表示该类将包含 Rest 端点。
该注解的作用是表明该类是一个控制器,并且该类中函数的返回值将被转换为 JSON 或 XML 格式。默认格式为 JSON。

@RequestMapping/sample端点映射到Sample Function

@RequestParam表示端点/sample将有一个名为name的查询参数。name默认值为“Robot”。

函数内部的代码非常简单。响应是根据名称值设置的。

进入命令提示符。进入项目文件夹并运行以下命令来启动应用程序

mvn spring-boot:run

默认情况下,应用程序在本地主机的端口 8080 上运行。

为了测试 api 端点,您可以使用Postman。从给定的链接下载 postman。

转到 postman 并输入以下 url
localhost:8080/sample?name=aditya并点击发送。

Postman 获取

这将返回以下响应

{
    "message": "Your name is aditya",
    "id": 1
}

现在尝试以下 URL
localhost:8080/sample并点击发送

这将返回以下响应

{
    "message": "Your name is Robot",
    "id": 1
}

恭喜😄

您已使用 SpringBoot 创建了第一个 API。您已学习了如何创建一个简单的带有查询参数的GET REST API 。

创建第二个 API

第二个 API 将演示如何创建支持 POST 请求的 API

在com.example.simplerestapis.models包中,创建一个名为PostRequest.java的 Java 类

将以下代码复制到PostRequest.java中

package com.example.simplerestapis.models;

public class PostRequest {
    int id;
    String name;
    public int getId() {
        return id;
    }
    public String getName() {
        return name;
    }
    public void setId(int id) {
        this.id = id;
    }
    public void setName(String name) {
        this.name = name;
    }

}

POST 请求通常包含 POST 主体,作为输入发送。PostRequest.java指示输入POST 主体中存在的所有字段

在com.example.simplerestapis.models包中,创建一个名为PostResponse.java的 Java 类

将以下代码复制到PostResponse.java中

package com.example.simplerestapis.models;

public class PostResponse {
    int id;
    String message;
    String extra;
    public String getExtra() {
        return extra;
    }
    public int getId() {
        return id;
    }
    public String getMessage() {
        return message;
    }
    public void setExtra(String extra) {
        this.extra = extra;
    }
    public void setId(int id) {
        this.id = id;
    }
    public void setMessage(String message) {
        this.message = message;
    }

}

PostResponse.java指示 POST 请求输出中存在的字段。

WebController.java中添加以下导入

import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMethod;

import com.example.simplerestapis.models.PostRequest;
import com.example.simplerestapis.models.PostResponse;

还在WebController.java中添加以下函数

@RequestMapping(value = "/test", method = RequestMethod.POST)
public PostResponse Test(@RequestBody PostRequest inputPayload) {
    PostResponse response = new PostResponse();
    response.setId(inputPayload.getId()*100);
    response.setMessage("Hello " + inputPayload.getName());
    response.setExtra("Some text");
    return response;
}

此代码创建一个名为/test 的新端点并将其映射到测试函数

代码还method = RequestMethod.POST表明/test api 端点可以接受 POST 请求

@RequestBody PostRequest inputPayload表示该 post 请求将包含一个PostRequest类型的输入 post 主体。输入 post 主体存储在inputPayload对象中。

代码非常简单,其中根据即将到来的输入设置响应。

输入有效载荷的id乘以 100 并设置为输出有效载荷

name参数附加Hello并设置为输出有效负载

额外参数被硬编码为某些文本的字符串值

WebController.java中的最终代码如下

package com.example.simplerestapis.controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import com.example.simplerestapis.models.PostRequest;
import com.example.simplerestapis.models.PostResponse;
import com.example.simplerestapis.models.SampleResponse;

@RestController
public class WebController {

    @RequestMapping("/sample")
    public SampleResponse Sample(@RequestParam(value = "name",
    defaultValue = "Robot") String name) {
        SampleResponse response = new SampleResponse();
        response.setId(1);
        response.setMessage("Your name is "+name);
        return response;

    }

    @RequestMapping(value = "/test", method = RequestMethod.POST)
    public PostResponse Test(@RequestBody PostRequest inputPayload) {
        PostResponse response = new PostResponse();
        response.setId(inputPayload.getId()*100);
        response.setMessage("Hello " + inputPayload.getName());
        response.setExtra("Some text");
        return response;
    }
}

进入命令提示符。进入项目文件夹并运行以下命令来启动应用程序

mvn spring-boot:run

打开 Postman 并设置如下图所示的值

邮递员邮政

基本上请求类型设置为POST

enpoint URL 输入为localhost:8080/test

要输入帖子正文,请转到Body,选择raw并选择JSON (application/json)

给出的输入 POST 主体如下

{
    "id": 1,
    "name": "aditya"
}

单击“发送”后,将显示以下输出

{
    "id": 100,
    "message": "Hello aditya",
    "extra": "Some text"
}

您可以通过发送不同的输入帖子主体来尝试这一点。

恭喜😄

现在您知道如何使用 Springboot 创建基于简单 GET 和 POST 请求的 REST APIS 😄

您可以访问https://spring.io/了解有关 Spring 和 Springboot 的更多信息

欢迎随时通过LinkedIn与我联系或在Twitter上关注我。

如果您喜欢这篇文章,您可以访问我的网站https://adityasridhar.com查看其他类似文章

鏂囩珷鏉ユ簮锛�https://dev.to/adityasridhar/how-to-create-simple-rest-apis-with-springboot-5h9f
PREV
使用 git 时可能出现的问题 强制推送到远程存储库 尝试重新设置远程存储库的基准 修改远程存储库中的提交 硬重置 如何知道使用 git 时有哪些不良做法?
NEXT
从 WSL1 升级到 WSL2 背景 安装 WSL2 Linux 内核