You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot删除端点故障排查及Postman测试CRUD应用方法

一、排查删除端点失效问题

1. 检查Controller删除映射配置

确保删除方法的注解和参数绑定正确,示例如下:

@RestController
@RequestMapping("/pessoas")
public class PessoaController {
    @Autowired
    private PessoaRepository pessoaRepository;

    @DeleteMapping("/{id}")
    public ResponseEntity<Void> deletePessoa(@PathVariable Long id) {
        if (!pessoaRepository.existsById(id)) {
            return ResponseEntity.notFound().build();
        }
        pessoaRepository.deleteById(id);
        return ResponseEntity.noContent().build();
    }
}

需注意:

  • 必须使用@DeleteMapping注解,而非@GetMapping或其他请求类型注解
  • @PathVariable需与路径中的{id}参数名匹配,若参数名不一致需显式指定,如@PathVariable("id")
  • 需处理目标记录不存在的场景,避免直接抛出异常

2. 验证Repository接口

确认PessoaRepository正确继承JpaRepository,泛型参数与实体主键类型匹配:

public interface PessoaRepository extends JpaRepository<Pessoa, Long> {
    // JpaRepository已内置deleteById、delete等方法,无需自定义基础删除逻辑
}

若自定义删除方法,需遵循Spring Data JPA命名规范,或确保@Query注解的JPQL语法正确。

3. 检查实体类主键配置

Pessoa实体必须正确配置主键,确保与数据库表主键映射一致:

@Entity
@Table(name = "Test") // 明确映射到数据库的Test表
public class Pessoa {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY) // 根据数据库类型选择合适的主键生成策略
    private Long id;
    // 其他字段、getter、setter
}

避免出现主键类型不匹配(如Repository用Long,实体主键用Integer)的情况。

4. 排查事务与异常

查看Spring Boot控制台日志,检查删除操作是否抛出异常:

  • 若出现DataIntegrityViolationException,需先处理关联数据的外键约束
  • 确认Repository方法的事务配置正常(Spring Boot默认会为Repository方法开启事务)
二、Postman测试CRUD操作步骤

1. 准备工作

启动Spring Boot应用,确认控制台无启动报错,记录应用端口(默认8080,若修改需对应调整URL)。

2. 新增实体(POST请求)

  • 请求方法选择POST
  • 请求URL:http://localhost:8080/pessoas
  • 切换到Body标签,选择raw,格式设置为JSON
  • 输入请求体(根据Pessoa字段调整):
{
    "nome": "Maria Silva",
    "idade": 30
}
  • 点击Send,成功时返回201 Created或自定义响应

3. 查询所有实体(GET请求)

  • 请求方法选择GET
  • 请求URL:http://localhost:8080/pessoas
  • 点击Send,返回所有Pessoa的JSON数组

4. 查询单个实体(GET请求)

  • 请求方法选择GET
  • 请求URL:http://localhost:8080/pessoas/1(1为已存在的实体ID)
  • 点击Send,返回对应ID的实体数据

5. 更新实体(PUT请求)

  • 请求方法选择PUT
  • 请求URL:http://localhost:8080/pessoas/1
  • 切换到Body标签,选择raw和JSON,输入更新内容:
{
    "nome": "Maria Santos",
    "idade": 31
}
  • 点击Send,成功时返回更新后的实体数据或200 OK

6. 删除实体(DELETE请求)

  • 请求方法选择DELETE
  • 请求URL:http://localhost:8080/pessoas/1
  • 点击Send,成功时返回204 No Content;若ID不存在则返回404 Not Found
额外提示
  • 若应用配置了Spring Security等认证机制,需在Postman的Authorization标签添加对应的认证信息(如Bearer Token)
  • 可使用Postman的Collections功能保存所有CRUD请求,方便重复测试
  • 遇到问题时优先查看Spring Boot控制台日志,定位请求是否到达后端及具体异常信息

内容的提问来源于stack exchange,提问作者Robert Wilson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 02:15:21