springboot 学习第1期 - 创建工程

创建项目

进入网址 start.spring.io/

创建Controller

java 复制代码
// controller/HelloController.java
package com.congvee.springboot_hello.controller;

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

@RestController
@RequestMapping("/api/hello")
public class HelloController {

    @GetMapping
    public String hello() {
        return "Hello, World!";
    }

}

接口调用

直接启动项目,默认运行在端口 8080 上,使用 postman 进行接口调试

响应统一结构

响应体的一般结构是:

plain 复制代码
{
  "code": 0,
  "message": "success",
  "data": { ... }
}

code 0 表示成功,非 0 表示异常,可以自定义一些异常码。

可以这样定义统一类型:

java 复制代码
// common/ApiResponse.java
package com.congvee.springboot_hello.common;

import lombok.AllArgsConstructor;
import lombok.Getter;

@Getter
@AllArgsConstructor
public class ApiResponse<T> {

    private int code;
    private String message;
    private T data;

    public static <T> ApiResponse<T> success(T data) {
        return new ApiResponse<>(0, "success", data);
    }

    public static <T> ApiResponse<T> error(int code, String message) {
        return new ApiResponse<>(code, message, null);
    }

}

使用lombok注解需要额外引入依赖:

xml 复制代码
<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <scope>provided</scope>
    <optional>true</optional>
</dependency>

使用:

java 复制代码
@GetMapping
public ApiResponse<String> hello() {
    return ApiResponse.success("Hello World!");
}

接口调用:

相关推荐
用户3126874877205 小时前
接口太慢?Spring Boot 缓存体系 @Cacheable 全链路拆解
spring boot
snow@li5 小时前
SpringBoot:AOP日志切面全景梳理/原理+流程+实战+避坑
java·开发语言·spring boot
snow@li6 小时前
SpringBoot:全套生命周期全景详解/应用级+Bean级
java·spring boot·rpc
凤山老林19 小时前
Spring Boot @Async 线上实战:从默认配置到生产级线程池治理
java·spring boot·后端
凤山老林1 天前
Spring Boot 定时任务进阶:动态 Cron 与集群防重实战
java·spring boot·后端·定时任务·集群定时任务
凤山老林1 天前
Spring Boot 配置管理实战:多环境隔离、加密与 Nacos 热更新避坑指南
java·spring boot·后端
凤山老林1 天前
可观测性落地:Spring Boot 3.x + Actuator + Prometheus + Grafana 监控体系搭建
spring boot·grafana·prometheus
agent8971 天前
实战升级|SpringBoot WebSocket实现多轮对话AI流式问答(上下文记忆+自动重连+会话隔离)
人工智能·spring boot·websocket
白仑色1 天前
Spring Boot 从切面统一控制事务
java·spring boot·aop·spring事务
凤山老林1 天前
Spring Boot 大文件处理实战:分片上传、断点续传与 OSS 集成
java·spring boot·后端·大文件上传·分片上传·断点续传