30分钟内用Java编写REST API:实用指南

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

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

开始课程

引言:Java中的REST API比看起来更简单



开发REST API是现代后端开发中最受欢迎的技能之一。Java凭借其可靠性和庞大的生态系统,仍然是构建工业级API的领导者。许多初学者认为用Java编写REST API既困难又耗时。实际上,使用正确的工具(Spring Boot),你可以在30分钟内创建一个可运行的服务。



在本文中,我们将通过实践来学习如何快速创建一个完整的Java REST API。我们将编写一个小型图书管理应用程序,支持标准的CRUD操作:创建、读取、更新和删除记录。所有代码均可直接运行,你可以通过Postman或浏览器进行测试。



1. 项目准备与Spring Boot配置



创建项目最快的方法是使用Spring Initializr。这是官方项目生成器,可以创建带有所需依赖的项目模板。



1.1. 生成项目

访问start.spring.io并选择:

  • Project: Maven (或Gradle)
  • Language: Java
  • Spring Boot: 最新稳定版本(例如3.2.x)
  • Group: com.example
  • Artifact: bookapi

添加依赖:

  • Spring Web — 用于创建REST控制器
  • Spring Data JPA — 用于数据库操作
  • H2 Database — 用于测试的内嵌数据库

点击"Generate",下载压缩包并解压。在IntelliJ IDEA或其他IDE中打开项目。



1.2. 项目结构

打开项目后,你将看到以下结构:

bookapi/├── src/│   ├── main/│   │   ├── java/com/example/bookapi/│   │   │   ├── BookapiApplication.java│   │   │   ├── controller/│   │   │   ├── model/│   │   │   └── repository/│   │   └── resources/│   │       └── application.properties│   └── test/└── pom.xml

手动创建controller、model和repository包——这将便于导航。



2. 创建数据模型与仓库



我们从模型开始——描述"图书"实体的类。



2.1. Book类(Model)

在model包中创建Book.java文件:

package com.example.bookapi.model;

import jakarta.persistence.*;

@Entity@Table(name = "books")public class Book {

@Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id;

@Column(nullable = false) private String title;

@Column(nullable = false) private String author;

private int year;

public Book() {}

public Book(String title, String author, int year) { this.title = title; this.author = author; this.year = year; }

// Getters and Setters public Long getId() { return id; } public void setId(Long id) { this.id = id; }

public String getTitle() { return title; } public void setTitle(String title) { this.title = title; }

public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; }

public int getYear() { return year; } public void setYear(int year) { this.year = year; }}


2.2. 仓库(Repository)

在repository包中创建BookRepository.java接口:

package com.example.bookapi.repository;

import com.example.bookapi.model.Book;import org.springframework.data.jpa.repository.JpaRepository;import org.springframework.stereotype.Repository;

import java.util.L

博客

书籍推荐