Просто метод запроса «DELETE» не поддерживается - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть Java контроллер:

@RequestMapping("tep")
public class TepController {

    private final TepRepo repo;

    @Autowired
    public TepController(TepRepo repo) {
        this.repo = repo;
    }

    @GetMapping
    public List<Tep> list(){
        return  repo.findAll();
    }
    @PostMapping
    public Tep create(@RequestBody Tep tep){
        return  repo.save(tep);
    }
    @GetMapping("{id}")
    public Tep getOne(@PathVariable("id") Tep tep){
        return tep;
    }

    @PutMapping("{id}")
    public Tep sent(@PathVariable("id") Tep tepFromDb,
                    @RequestBody Tep tep){
        BeanUtils.copyProperties(tep, tepFromDb, "id");
        return repo.save(tepFromDb);
    }
    @DeleteMapping("/{id}")
    public void delete(@PathVariable("id") Tep tep){
        repo.delete(tep);
    }
}

И столкнулся со следующей проблемой: WARN 14068 --- [nio-8080-exe c -3] .wsmsDefaultHandlerExceptionResolver: Решено [org.springframework.web.HttpRequestMethodNotSupportedException: метод запроса 'DELETE' не поддерживается] Это произошло, когда я отправляю запрос DELETE, но другие запросы работают хорошо

Спасибо за ответы)

Ответы [ 2 ]

0 голосов
/ 30 апреля 2020
@DeleteMapping("/{id}")

Ваше отображение содержит "/", которого нет в других методах http. Пожалуйста, поделитесь URL-адресом запроса Http, который вы используете для тестирования.

0 голосов
/ 30 апреля 2020

Я бы согласился с комментарием Бери, что это действительно должен быть примитивный тип, в идеале int / string, так как я не уверен в том, как пружинная загрузка обрабатывает DELETE с телом. Нельзя сказать, что в DELETE не может быть тела, но некоторые реализации требуют, чтобы тела не было.

...