java
package com.example.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@SpringBootApplication
@RestController
@RequestMapping("/index")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
@GetMapping("/{id}")
public String index(@PathVariable Long id) {
return "GET请求接收成功,id为:" + id;
}
@GetMapping
public String index2(@RequestParam Long id, @RequestParam String name) {
return "GET请求接收成功,id为:" + id + ", name为:" + name;
}
@PostMapping
public String save(@RequestBody Map<String, Object> map) {
System.out.printf("map:" + map);
return "POST请求接收成功,map为:" + map;
}
@PutMapping("/{id}")
public String update(@PathVariable Long id, @RequestBody Map<String, Object> map) {
System.out.printf("ID:" + id + ", map:" + map);
return "PUT请求接收成功";
}
@DeleteMapping("/{id}")
public String delete(@PathVariable Long id) {
System.out.printf("ID:" + id);
return "DELETE请求接收成功,id为:" + id;
}
}
类注解
| 注解 | 作用 |
|---|---|
@SpringBootApplication |
标记这是 Spring Boot 启动类,开启自动配置、组件扫描 |
@RestController |
= @Controller+ @ResponseBody,表示每个方法的返回值直接作为响应体(而不是跳转页面) |
@RequestMapping("/index") |
类级别统一前缀,所有接口路径都以 /index开头 |
接口注解
1.GET-查询(路径传参)
java
@GetMapping("/{id}")
public String index(@PathVariable Long id) {
return "GET请求接收成功,id为:" + id;
}

- 访问:GET /index/100
- @PathVariable:把 URL 路径中的 {id} 提取为方法参数
- 适用场景:查询某个具体资源(RESTful 风格推荐把 id 放在路径里)
2.GET - 查询(问号传参)
java
@GetMapping
public String index2(@RequestParam Long id, @RequestParam String name) {
return "GET请求接收成功,id为:" + id + ", name为:" + name;
}
- 访问:GET /index?id=1&name=tom
- @RequestParam:接收 URL ? 后面的查询参数
- 适用场景:带条件的查询、筛选、分页

3.POST - 新增(请求体传参)
java
@PostMapping
public String save(@RequestBody Map<String, Object> map) {
System.out.printf("map:" + map);
return "POST请求接收成功,map为:" + map;
}
- 访问:POST /index,body 中放 JSON,例如 {"name":"tom","age":18}
- @RequestBody:把请求体的 JSON 自动转换成 Java 对象(这里用 Map 接收)
- 适用场景:新增资源

4.PUT -修改
java
@PutMapping("/{id}")
public String update(@PathVariable Long id, @RequestBody Map<String, Object> map) {
System.out.printf("ID:" + id + ", map:" + map);
return "PUT请求接收成功";
}
- 访问:PUT /index/100,body 放要修改的 JSON 数据
- 同时用了 路径参数(哪个资源) + 请求体(改成什么)
- 适用场景:更新资源

5.DELETE - 删除
java
@DeleteMapping("/{id}")
public String delete(@PathVariable Long id) {
System.out.printf("ID:" + id);
return "DELETE请求接收成功,id为:" + id;
}
- 访问:DELETE /index/100
- 适用场景:删除某个资源
