从 0 开始使用 spring 搭建 API 服务器

194 阅读3分钟

本文介绍从 0 开始使用 spring 搭建 API 服务器,内容非常基础就算你不会 java 也能轻松上手。喜欢的同学收藏起来方便后面查看。

1. 安装环境

1.1. 安装 JDK 17

JDK 17 会自动设置环境变量,无需手动配置。

1.2. 安装 maven

去网站 Maven – Download Apache Maven 下载,下载得到压缩包,解压到 D 盘然后配置环境变量。

image.png

1.3. 安装 idealUI

找个大佬,问他要一下网盘地址和破解文档,下载完之后破解,重启。

2. 生成项目框架

2.1. 使用 spring Initializr 初始化项目,地址为:Spring Initializr

image.png

打开网站之后按照上面填写后点击 GENERATE 按钮即可下载生成的项目!

2.2. 使用 idea 打开下载的项目

image.png

右键选择打开即可。

3. 修改项目内容

3.1. 打开项目之后,按照下图创建缺失的 java 文件 ApiController.

image.png

3.2. 然后依次修改下图圈出的文件

image.png

3.3. 修改 pom.xml 引入 spring 的相关依赖

image.png

整体代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>3.3.1</version>
      <relativePath/> <!-- lookup parent from repository -->
   </parent>
   <groupId>com.supcon</groupId>
   <artifactId>simple-api-server</artifactId>
   <version>0.0.1-SNAPSHOT</version>
   <name>simple-api-server</name>
   <description>Api Service For IOT</description>
   <url/>
   <licenses>
      <license/>
   </licenses>
   <developers>
      <developer/>
   </developers>
   <scm>
      <connection/>
      <developerConnection/>
      <tag/>
      <url/>
   </scm>
   <properties>
      <java.version>17</java.version>
   </properties>
   <dependencies>
      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter</artifactId>
      </dependency>

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

      <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-test</artifactId>
         <scope>test</scope>
      </dependency>
   </dependencies>

   <build>
      <plugins>
         <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
         </plugin>
      </plugins>
   </build>

</project>

3.4. 在 terminal 中打开 bash 命令行,先检查 mvn 安装成功否,然后再安装项目依赖

mvn -version
mvn clean install

image.png

最后重启项目:

image.png

3.5. 设置此 api 服务器的 端口号,在 application.properties 中增加配置

spring.application.name=simple-api-server
server.port=8080

3.6. 修改 SimpleApiServiceApplication.java 的内容如下:

package com.supcon.simple_api_server;

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

@SpringBootApplication
public class SimpleApiServerApplication {

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

这段代码定义了一个简单的REST控制器ApiController,它使用Spring Web框架来处理HTTP请求。@RestController注解表明这个类中的所有方法都将返回直接的响应数据,而不是视图。@RequestMapping("/api")注解定义了这个控制器处理请求的基础路径。

sayHello方法使用@GetMapping("/hello")注解来处理对/api/hello路径的GET请求。该方法接受一个名为name的请求参数,如果请求中没有提供name,则默认使用"World"。方法返回一个字符串,格式为"Hello, [name]!",用于响应客户端的请求。

这段代码创建了一个API端点,当客户端访问/api/hello并可选地提供一个name参数时,它会返回一个问候语。如果没有指定name,则默认问候"World"。

3.7. 修改 ApiController.java 的内容如下:

package com.supcon.simple_api_server;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@RestController
@RequestMapping("/api")
public class ApiController {

    // 一个简单的GET请求处理方法
    @GetMapping("/hello")
    public String sayHello(@RequestParam(value = "name", defaultValue = "World") String name) {
        return "Hello, " + name + "!";
    }
}

这段代码是Spring Boot应用程序的入口点,定义了一个名为SimpleApiServerApplication的Java类。@SpringBootApplication是一个方便的注解,它包含了@Configuration@EnableAutoConfiguration@ComponentScan三个注解,用于启动Spring Boot应用并自动配置Spring应用上下文。

@EnableAutoConfiguration告诉Spring Boot根据添加的jar依赖自动配置应用。@ComponentScan允许Spring Boot扫描定义在@SpringBootApplication类所在的包以及子包中的Spring组件。

main方法是Java程序的入口点,SpringApplication.run(SimpleApiServerApplication.class, args);这行代码会启动Spring Boot应用。args是传递给应用程序的命令行参数,可以用于配置应用程序。

这段代码通过Spring Boot框架简化了应用程序的启动过程,使得开发者只需关注业务逻辑的实现,无需编写大量的配置代码。当运行main方法时,Spring Boot应用将启动,并且所有相关的Spring组件将被自动配置和加载。

3.8. 试运行,使用快捷键 shift+f10

成功启动的效果:

image.png

3.9. 尝试请求,使用 curl http://localhost:8080/api/hello?name=Kimi

image.png

希望本文能够让您对 spring 或者 java 有一个简单的印象。这篇文章的本意也在于此。