如何在30分钟内用Java编写REST API:分步指南

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

如何用Java在30分钟内编写REST API:逐步指南



创建REST API是现代Java开发人员的关键技能之一。REST(Representational State Transfer)允许构建轻量级、可扩展且易于理解的Web服务。在本指南中,我们将在30分钟内使用Spring Boot创建一个完整的REST API。您将学习如何配置项目、创建用于操作用户的端点、处理JSON以及通过Postman或浏览器测试API。



1. 什么是REST API以及为什么需要它?



REST API是一种架构风格,客户端和服务器通过HTTP请求交换数据。REST的主要原则:



  • 资源 — 每个对象(用户、商品、订单)都由URL地址表示。
  • HTTP方法 — GET(读取)、POST(创建)、PUT(更新)、DELETE(删除)。
  • Stateless — 每个请求包含所有必要信息;服务器不存储会话状态。
  • 数据格式 — 最常见的是JSON或XML。


REST API用于移动应用程序、Web前端、微服务和系统集成。在Java中,创建REST API最流行的框架是Spring Boot——它提供了现成的注解和自动配置。



2. 准备Spring Boot项目



首先您需要:

  • JDK 17或更高版本
  • IntelliJ IDEA或任何其他IDE
  • Maven或Gradle


我们将使用Spring Initializr创建项目。选择:

  • Project: Maven
  • Language: Java
  • Spring Boot: 3.2.0(或最新稳定版)
  • Dependencies: Spring Web, Spring Boot DevTools


点击"Generate"并解压存档。在IDE中打开项目。结构将如下所示:



rest-api-demo/├── src/main/java/com/example/restapidemo/│   ├── RestApiDemoApplication.java│   └── controller/│       └── UserController.java├── src/main/resources/│   └── application.properties└── pom.xml


3. 创建数据模型和控制器



让我们创建一个简单的User模型(在model包中的类):



package com.example.restapidemo.model;

public class User { private Long id; private String name; private String email;

public User() {}

public User(Long id, String name, String email) { this.id = id; this.name = name; this.email = email; }

// Getters and Setters public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; }}


现在在controller包中创建UserController控制器。这是我们API的核心:



package com.example.restapidemo.controller;

import com.example.restapidemo.model.User;import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;import java.util.List;import java.util.concurrent.atomic.AtomicLong;

@RestController@RequestMapping("/api/users")public class UserController {

private final List<User> users = new ArrayList<>(); private final AtomicLong counter = new AtomicLong();

public UserController() { // 测试数据 users.add(new User(counter.incrementAndGet(), "Alice", "alice@example.com")); users.add(new User(counter.incrementAndGet(), "Bob", "bob@example.com")); }

// GET /api/users — 获取所有用户 @GetMapping public List<

博客

书籍推荐