当前位置: 首页 > news >正文

Java API接口从0到1实战:新手也能看懂的编写指南 - 教程

Java API接口从0到1实战:新手也能看懂的编写指南 - 教程

Spring Boot 入门:手把手教你创建项目并写出第一个 API 接口

大家好呀!最近很多小伙伴在后台留言,说想学习 Spring Boot,但刚入门就卡在了 “创建项目” 和 “写第一个接口” 这两步。别慌!今天这篇文章,我就用最通俗的语言、最详细的步骤,带零基础的你搞定这两个关键操作,看完就能上手实践~

一、准备工作:先装好这 3 个软件

在开始之前,我们需要先准备好 3 个 “帮手”,它们都是免费且容易安装的,跟着做就行:

1. JDK(Java 构建工具包)

Spring Boot 基于 Java,所以必须先装 JDK。建议安装JDK 21(最稳定、最常用的版本),

验证方法:打开电脑的 “命令提示符”,输入java -version,如果能看到版本信息,就说明装好了。

2. IntelliJ IDEA(开发工具)

写代码需要一个好用的工具,这里推荐IntelliJ IDEA 社区版(免费!足够初学者用),直接去官网下载,安装时记得勾选 “创建桌面快捷方式”。

3. Apifox(接口测试工具)

定位是Postman + Swagger + Mock + JMeter的一体化 API 管理平台,主打 API 全生命周期协同,更契合国内研发团队的协作场景。从 API 设计、文档生成,到调试、Mock、自动化测试,能一站式满足团队在开发流程中的各类需求,无需切换多个工具。

二、第一步:5 分钟创建 Spring Boot 项目

很多小伙伴觉得 “创建任务” 很复杂,其实 Spring Boot 早就帮我们简化了流程,用官方的 “初始化程序” 就能快速搞定:

1. 打开 Spring Initializr

打开浏览器,输入网址:https/start.spring.io/,页面长这样:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2. 填写项目信息(跟着填就行)

  • Project:选「Maven」(初学者先学 Maven,更基础)

  • Language:选「Java」

  • Spring Boot:选「3.5.7」

  • Group:填「com.example」(这是组织名,初学者不用改)

  • Artifact:填「first-springboot-project」(项目名,自己起个好记的)

  • Name:和 Artifact 一样就行

  • Package name:会自动生成「com.example.firstspringbootproject」(不用改)

  • Packaging:选「Jar」(Jar 包更轻松,直接能运行)

  • Configuration:选「YAML」

  • Java:选「21」(和之前装的 JDK 版本对应)

3. 添加依赖(关键!)

项目需要 “依赖” 才能实现功能,我们写第一个 API 接口,只得加一个依赖:

在页面下方的「Dependencies」搜索框里,搜「Spring Web」,然后勾选「Spring Web」(勾选后会自动添加到依赖列表里)。

4. 下载计划

填完信息、加好依赖后,点击页面最下方的「Generate」按钮,会下载一个 ZIP 压缩包,把它解压到电脑上(比如解压到桌面,方便找到)。

5. 用 IDEA 打开计划

三、第二步:写第一个 API 接口(3 行核心代码)

项目打开后,我们来写一个简单的 API 接口 —— 比如访问后返回 “Hello Spring Boot!”。

1. 创建 Controller 类

起初,我们需要创建一个 “Controller” 类(Controller 是处理请求的类,API 接口都写在这里):

2. 写接口代码

在 HelloController 类里,粘贴下面的代码(我会逐行解释,不用担心看不懂):

package com.example.firstspringbootproject.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
// 1. @RestController:告诉Spring这是一个处理请求的类,并且返回的是数据(不是页面)
@RestController
public class HelloController {// 2. @GetMapping("/hello"):定义一个GET请求的接口,访问路径是“/hello”@GetMapping("/hello")public String sayHello() {// 3. 返回一句话,这就是接口的响应结果return "Hello Spring Boot!我终于写出第一个API接口啦~";}
}

代码写完后,记得保存。

这里划重点:

  • @RestController:必须加在类上,否则 Spring 不认识这个类是处理请求的。

  • @GetMapping("/hello"):加在方法上,定义接口的 “访问路径”,以后访问这个接口就要用 “http://localhost:8080/hello”。

  • 方法里的return:就是接口返回给前端的数据,这里是简单的字符串,以后还能返回 JSON、列表等。

四、第三步:运行项目并测试接口

代码写好了,接下来就是运行计划,接着测试接口能不能用~

1. 运行 Spring Boot 项目

找到项目的 “启动类”,有一个叫「FirstSpringbootProjectApplication」的类(名字和你项目名对应),这个类里有一个main方法,就是项目的入口。

运行成功的标志:在 IDEA 下方的 “Console” 控制台里,能看到 “Started FirstSpringbootProjectApplication in xxx seconds” 的提示(没有红色报错就是成功)。

2. 测试 API 接口(两种手段,选一种就行)

方法 1:用浏览器测试

打开任意浏览器,在地址栏里输入:http://localhost:8080/hello,然后按回车。

如果能看到页面上显示 “Hello Spring Boot!我终于写出第一个 API 接口啦~”,说明接口成功了!

方法 2:用 Apifox 测试(更专业)
  • 打开 Apifox,点击左上角的「+」号,新建一个快捷请求。

  • 「Method」选择「GET」(和我们代码里的 @GetMapping 对应)。

  • 「URL」输入http://localhost:8080/hello

  • 点击右上角的「发送」按钮,下方的「Response Body」里就能看到返回的字符串,状态码是 200(表示成功)。

五、常见问题:遇到问题别慌,看这里!

  1. 运行计划时,控制台报错 “端口被占用”

Spring Boot 默认用 8080 端口,如果这个端口被其他程序占用了,可以改端口。方法:打开「src/main/resources/application.yaml」文件,添加一行代码:server.port=8081(把端口改成 8081,或者其他没被占用的数字),然后重新运行项目,访问时用新端口(比如http://localhost:8081/hello)。

  1. 访问接口时,浏览器显示 “404 Not Found”

六、总结:你已经迈出了关键一步!

今天大家从 0 到 1,完成了 3 件事:

  1. 装好并验证了 JDK、IDEA、Apifox。

  2. 用 Spring Initializr 创建了第一个 Spring Boot 项目。

  3. 写了一个 GET 接口,并且成功测试通过。

其实 Spring Boot 并不难,关键是多动手实践 —— 你可以试着改一改接口的返回内容,比如把return里的字符串改成你的名字,再运行测试一下;也可以试着新建一个接口,比如路径改成 “/hi”,返回 “Hi,我是 XXX”。

下一篇文章,我会教大家怎么让接口返回 JSON 数据(比如返回用户信息、商品列表),感兴趣的小伙伴可以点个关注,免得找不到啦~

若是在操作过程中遇到问题,欢迎在评论区留言,我会一一回复大家!

http://www.jsqmd.com/news/349013/

相关文章:

  • 查找操作系统文件与数据库中的对应关系
  • 河北高考志愿填报服务推荐,正则教育口碑好不好 - 工业品网
  • 红外热成像图像鸟家禽检测数据集VOC+YOLO格式995张1类别
  • HoRain云--通过Xshell连接linux——安装Nginx
  • 在矩形画布上绘制水平居中矩形时,坐标计算公式和推导
  • 江苏隆发照明科技:精准定位户外亮化工程需求,实现多场景亮化设计定制 - 博客万
  • HoRain云--通过Xshell连接和访问linux
  • 高温钢主要分哪些品类?不同品类的核心区别和适配场景是什么? - 非研科技
  • 选购聚氨酯异形件,河南靠谱的厂家有哪些值得关注 - myqiye
  • HoRain云--通过Xshell连接linux——安装tomcat
  • 基于stm32的电机控制系统仿真设计 实现功能: 1、判断光照强度与设定值的大小 2、当此时光...
  • 基于深度学习的糖尿病视网膜病变诊断系统[python]-计算机毕业设计源码+LW文档
  • 化妆培训学校推荐哪家,吉田美学在各地区口碑怎样 - mypinpai
  • ‌对抗鲁棒性测试:3D点云攻击在自动驾驶感知系统的防御工具‌
  • 嵌入式C++教程——enum class
  • HoRain云--通过Xshell连接linux——安装Redis
  • 日照考研自习室价格多少,有哪些品牌值得推荐? - 工业设备
  • 加密摘要算法MD5、SHA、HMAC:学习笔记
  • 【Matlab】MATLAB if-elseif-else语句详解:多条件分支与复杂条件判断应用
  • 2026年最新SVG互动设计案例丨5个免费公众号排版工具推荐与实操指南 - peipei33
  • 技术速递|GitHub Copilot CLI 斜杠命令速查表
  • 期刊 On Hold 什么意思?
  • 跨平台学习新时代!随时随地培训考试的系统源码
  • HoRain--通过Xshell连接linux——安装jdk
  • 源码全开源无加密:自主可控的企业培训考试平台源码
  • Prolactin抗体在内分泌疾病诊断中有何关键作用?
  • 全国接地模块降阻剂优质厂家有哪些?优先选哪些维度筛选? - 非研科技
  • ADDI-DATA多功能板卡APCI-3120
  • 基于微信小程序的自习室座位预约系统【源码+文档+调试】
  • 2026 CRM 系统排行榜:八大主流品牌核心能力深度对比 - 毛毛鱼的夏天