HTTP Status 405 - Метод запроса «POST» не поддерживается - PullRequest
2 голосов
/ 27 января 2012

Я использую весну, весеннюю безопасность, спящий режим.Получил страницу JSP, где я пытаюсь загрузить файл, и у сервера есть контроллер для захвата и сохранения загруженного файла.Я использую кота.Я использую Spring Security для аутентификации при входе.Получение следующей ошибки при загрузке файла HTTP Status 405 - Метод запроса «POST» не поддерживается. Есть идеи?

Ответы [ 2 ]

4 голосов
/ 27 января 2012

Вам необходимо убедиться, что ваш обработчик запросов может принять POST. Вы также можете настроить Spring на использование MultipartResolver для помощи в получении частей вашего запроса.

Конфигурация MultiPartResolver

@Bean(name = "mulitpartResolver")
public MultipartResolver multipartResolver() {
    if (multipartResolver == null) {
        multipartResolver = new CommonsMultipartResolver();
    }
    return multipartResolver;
}

Вот отображение запроса:

@RequestMapping(method = RequestMethod.POST, value = "/some/post/url")
public void postFile(MultipartHttpServletRequest request) {
    MultipartFile multipartFile = request.getFileMap().get("keyForFileInFormPost");
    ...
}

Обратите внимание, что иногда это не работает с Spring Security. Вы можете посмотреть мою статью в блоге об использовании multipartrequestresolvers с Spring Security для получения помощи:

http://www.adamweigold.com/2012/01/using-multpartrequestresolvers-with.html

0 голосов
/ 18 марта 2013

Просто определите bean-компонент "multipartResolver" в контексте Spring

    <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- one of the properties available; the maximum file size in bytes -->
        <property name="maxUploadSize" value="2097152"/>
    </bean>

И используйте

@ResponseBody
@RequestMapping(value = "/{tenantId}/getEntityInfo", method = RequestMethod.POST)
public ResponseEntity<String> getEntityInfo(
        @RequestParam(value = "xml", required = false) MultipartFile xml) {
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...