PUT-запрос не поддерживается | Весенняя загрузка Java

Я добавил метод put в свой контроллер. Но когда я обращаюсь к нему, я получаю ошибку 405 (метод не разрешен). В консоли печатается ошибка Метод запроса «PUT» не поддерживается. У меня есть другой контроллер, где работает пут.

Я хотел бы некоторую помощь.

Запросконтроллер

@RestController
@RequestMapping("/mainsite")
public class MainsiteController {
    private MainsiteService mainsiteService;

    @Autowired
    public MainsiteController(MainsiteService mainsiteService) {
        this.mainsiteService = mainsiteService;
    }

    @PutMapping("{id}")
    public Mainsite updateMainsite(@PathVariable("id") Long id, @RequestBody Mainsite mainsite) {
        return mainsiteService.updateMainsite(id, mainsite);
    }
}

Журнал

[2m2022-11-20 17:47:49.587[0;39m [32mDEBUG[0;39m [35m10420[0;39m [2m---[0;39m [2m[nio-8080-exec-1][0;39m [36mo.s.web.servlet.DispatcherServlet       [0;39m [2m:[0;39m PUT "/api/v1/mainsite?id=1", parameters = {masked}
[2m2022-11-20 17:47:49.592[0;39m [33m WARN[0;39m [35m10420[0;39m [2m---[0;39m [2m[nio-8080-exec-1][0;39m [36m.w.s.m.s.DefaultHandlerExceptionResolver[0;39m [2m:[0;39m Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'PUT' not supported]
[2m2022-11-20 17:47:49.592[0;39m [32mDEBUG[0;39m [35m10420[0;39m [2m---[0;39m [2m[nio-8080-exec-1][0;39m [36mo.s.web.servlet.DispatcherServlet       [0;39m [2m:[0;39m Completed 405 METHOD_NOT_ALLOWED
[2m2022-11-20 17:47:49.595[0;39m [32mDEBUG[0;39m [35m10420[0;39m [2m---[0;39m [2m[nio-8080-exec-1][0;39m [36mo.s.web.servlet.DispatcherServlet       [0;39m [2m:[0;39m "ERROR" dispatch for PUT "/api/v1/error?id=1", parameters = {masked}
[2m2022-11-20 17:47:49.596[0;39m [32mDEBUG[0;39m [35m10420[0;39m [2m---[0;39m [2m[nio-8080-exec-1][0;39m [36ms.w.s.m.m.a.RequestMappingHandlerMapping[0;39m [2m:[0;39m Mapped to org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController#error(HttpServletRequest)
[2m2022-11-20 17:47:49.613[0;39m [32mDEBUG[0;39m [35m10420[0;39m [2m---[0;39m [2m[nio-8080-exec-1][0;39m [36mo.s.w.s.m.m.a.HttpEntityMethodProcessor [0;39m [2m:[0;39m Using 'application/json', given [*/*] and supported [application/json, application/*+json, application/json, application/*+json]
[2m2022-11-20 17:47:49.616[0;39m [32mDEBUG[0;39m [35m10420[0;39m [2m---[0;39m [2m[nio-8080-exec-1][0;39m [36mo.s.w.s.m.m.a.HttpEntityMethodProcessor [0;39m [2m:[0;39m Writing [{timestamp=Sun Nov 20 17:47:49 CET 2022, status=405, error=Method Not Allowed, path=/api/v1/mainsite (truncated)...]
[2m2022-11-20 17:47:49.640[0;39m [32mDEBUG[0;39m [35m10420[0;39m [2m---[0;39m [2m[nio-8080-exec-1][0;39m [36mo.s.web.servlet.DispatcherServlet       [0;39m [2m:[0;39m Exiting from "ERROR" dispatch, status 405

приложение.свойства

server.servlet.context-path=/api/v1
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
62
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
[2m2022-11-20 17:47:49.587[0;39m [32mDEBUG[0;39m [35m10420[0;39m [2m---[0;39m [2m[nio-8080-exec-1][0;39m [36mo.s.web.servlet.DispatcherServlet       [0;39m [2m:[0;39m PUT "/api/v1/mainsite?id=1", parameters = {masked}

Вы отправляете параметр запроса, как показано в приведенном выше журнале «/api/v1/mainsite?id=1».

но вы используете PathVariable в своем коде:

   public Mainsite updateMainsite(@PathVariable("id") Long id, @RequestBody Mainsite mainsite) {

Вы должны отправить URL как "/api/v1/mainsite/1"

Другие вопросы по теме

Похожие вопросы

Как добавить обработку событий для объекта Button, созданного в For Loop (JavaFX/Scenebuilder)
Как получить минимальное значение LocalDateTime из массива в Java
Как я могу периодически приостанавливать и возобновлять обработку потока (каждые 5 минут) с помощью Kafka Streams и Spring Kafka Streams?
Невозможно запустить какие-либо тесты Junit4 — InvalidTestClassError: недопустимый тестовый класс
Как предотвратить длительное переполнение?
Метод Java PrintStream .println() не выводится в файл?
Java-Stream - объединить результаты двух методов, создающих значение и список, вызываемый условно внутри одной и той же потоковой операции в Java 8
Не удается получить доступ к «/docker-entrypoint-initdb.d/»: операция не разрешена Spring Boot + My SQL + Docker
VLCJ-4: воспроизведение звука останавливается слишком рано (событие "завершено" запускается до окончания медиа)
Fabric8: Mock Kubernetes Server на самом деле не создает ресурс без набора «ожидание»