Код ошибки 404 при попытке доступа к конечной точке API, но нормально работает на других - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть конечная точка в пакете 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, но что бы я там ни указывал, это приведет к ошибке 404 даже из программного обеспечения Insomnia. Я попытался добавить /beneficiaries, /api/beneficiares и просто /api, но я не думаю, что это как-то связано с этим. Сообщения об ошибках в консоли не видны.

1 Ответ

1 голос
/ 16 апреля 2019

Это опечатка :).Я столкнулся с подобной проблемой некоторое время назад.У меня ушло несколько часов, чтобы решить.Просто удалите ("/") из своего @ PostMapping.

...