尝试访问API端点但在其他端点上正常运行时,出现404错误代码

时间:2019-04-16 01:58:08

标签: spring-boot http http-status-code-404 endpoint

我在com.project.users包中有一个端点,它将提取已登录用户的信息:

@RestController
@RequestMapping(path = "/api")
public class UserController {
    @Autowired
    private UserRepository repository;

    @GetMapping("me")
    public User me() {
        Optional<User> ouser = repository.findById(1);
        return ouser.get();
    }
}

我在com.project.beneficiary中有另一个控制器,我试图通过POST请求访问方法,但收到一条404错误消息:

Request URL:http://localhost:8080/api/beneficiaries
Request method:POST
Remote address:127.0.0.1:8080
Status code:
404
Version:HTTP/1.1
Referrer Policy:no-referrer-when-downgrade

{"timestamp":"2019-04-16T01:46:37.395+0000","status":404,"error":"Not Found","message":"No message available","path":"/api/beneficiaries"}
@RestController
@RequestMapping(path = "/api/beneficiaries")
public class BeneficiaryController {
    @Autowired
    private BeneficiaryRepository repository;

    @PostMapping("/")
    public Beneficiary addBeneficiary(@Valid @RequestBody Beneficiary beneficiary) {
        return repository.save(beneficiary);
    }
}

我已经处理了CORS,我认为它能奏效是因为我在任何地方都没有看到有关它的消息。所有这些软件包都与应用程序的起点处于同一级别,但是为什么看到一个而没有看到却是奇怪的。与POST请求有关吗?

我发现了一些有关在application.properties中设置上下文的信息,但是即使放在Insomnia软件中,我放置的内容也会导致404错误。我尝试添加/beneficiaries/api/beneficiares以及仅添加/api,但我认为这与它无关。在控制台中看不到任何错误消息。

1 个答案:

答案 0 :(得分:1)

这是一个错字:)。不久前,我遇到了类似的问题。花了我几个小时解决。只需从您的@PostMapping中删除("/")