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

POST请求映射缺失404错误求助:Spring Boot API Postman测试失败

排查Spring Boot API POST请求404错误:No mapping for POST /api/v1/cont/parties

测试Spring Boot API时,Postman反复返回404 Not Found错误,提示“No mapping for POST /api/v1/cont/parties”。已确认Postman请求URL(http://localhost:8080/api/v1/cont/parties)与PartyController中的映射路径一致,但问题仍未解决。

控制器代码

package controllers;

import assemblers.PartyModelAssembler;
import dto.PartyDto;
import model.Party;
import org.modelmapper.ModelMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.hateoas.CollectionModel;
import org.springframework.hateoas.EntityModel;
import org.springframework.hateoas.IanaLinkRelations;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import services.IPartyService;

import java.util.List;

@RestController
@RequestMapping("api/v1/cont")
public class PartyController {

    @Autowired
    private ModelMapper modelMapper;

    @Autowired
    private IPartyService partyService;

    @Autowired
    private PartyModelAssembler partyModelAssembler;

    public PartyController() { super();}

    @PostMapping("/parties")
    public ResponseEntity<EntityModel<PartyDto>> newParty (@RequestBody PartyDto partyDto){
        Party partyRequest = modelMapper.map(partyDto, Party.class);
        Party newParty = partyService.createParty(partyRequest);

        EntityModel<PartyDto> partyEntityModel = partyModelAssembler
                .toModel(modelMapper.map(newParty, PartyDto.class));

        return ResponseEntity.created(partyEntityModel.getRequiredLink(IanaLinkRelations.SELF).toUri())
                .body(partyEntityModel);
    }

}

排查方向

  • 控制器未被Spring扫描:检查Spring Boot主应用类所在包,默认只会扫描主类及其子包下的组件。如果主类包是com.example,而控制器在controllers包(非子包),需在主类添加@ComponentScan(basePackages = {"controllers"}),或调整包结构让控制器处于主类子包中。
  • 请求参数与方法不匹配:确认Postman发送的是POST请求,且请求头Content-Type设为application/json(接口接收@RequestBody,需JSON格式请求体)。
  • 上下文路径配置:查看application.properties/yml是否设置了server.servlet.context-path,若有,请求URL需加上该前缀(比如配置/app,则URL应为http://localhost:8080/app/api/v1/cont/parties)。
  • 依赖Bean初始化失败:检查启动日志,确认ModelMapper、IPartyService实现类、PartyModelAssembler是否被正确注入。比如ModelMapper需通过@Bean配置,IPartyService实现类需加@Service注解,否则控制器初始化失败,无法注册映射。
  • URL大小写问题:Spring请求映射默认大小写敏感,确保Postman的URL路径和控制器中完全一致(如/parties和/Parties不匹配)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 03:17:32