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!");
}

接口调用:

相关推荐
西门吹-禅11 小时前
java springboot N+1问题
java·开发语言·spring boot
weixin_BYSJ198712 小时前
SpringBoot + MySQL 乒乓球运动员信息管理系统项目实战--附源码04954
java·javascript·spring boot·python·django·flask·php
leoZ23113 小时前
Claude 驱动的全栈开发:Spring Boot + Vue 的 BS 架构实践
vue.js·spring boot·架构
shepherd11116 小时前
一次把 Spring MVC 文件上传参数“查没了”的排查:multipart、Filter 与 request body 的连环坑
java·spring boot·后端
宠友信息18 小时前
MySQL 租户数据隔离在即时通讯源码后端中的落地方式
java·数据库·spring boot·redis·websocket·mysql
宠友信息21 小时前
内容社区源码多端数据协议与 Spring Boot 状态流转实现思路
java·spring boot·websocket·uni-app
JerrySir1 天前
`spring.threads.virtual.enabled=true`:用三类负载定位等待、争用与拒绝
java·spring boot
尚早立志1 天前
Spring Boot 之 BeanDefinitionLoader 详解
java·spring boot·后端
济*沧*海1 天前
创建springboot项目时会出现注释乱码情况
java·spring boot·后端
卓怡学长1 天前
w268基于springboot + vue 物流系统
java·数据库·vue.js·spring boot·spring·intellij-idea