Весенний Запрос MVC, Наносящий на карту запросы проходов, которые не должны быть переданы

EDIT - This is now solved, the error was in my spring configuration. I had missed the tag. When adding it, everything worked as expected.

Я определил диспетчера, использующего Весенний MVC, который должен принять HTTP, ДОБИРАЮТСЯ просит по адресу /controllertest , только если тип контента запроса application/json . Это также возвращает данные в application/json и поэтому только просит, чтобы признали, что данные в том формате должны пройти. Однако это не работает.

Это - мой код, использующий Весну 3.2.0:

package test.controllers;

import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE;
import static org.springframework.web.bind.annotation.RequestMethod.GET;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("/controllertest")
public class TestController {

    @RequestMapping(method = GET, consumes = APPLICATION_JSON_VALUE, produces = APPLICATION_JSON_VALUE)
    @ResponseBody
    public String helloJSON() {
        return "{\"message\":\"HelloWorld\"}";  
    }

}

Это - то, что я ожидаю:

  1. , Если я использую какой-либо метод HTTP кроме , ПОЛУЧАЕТ , я должен получить 405 - Метод, не позволенный ответ
  2. , Если я отправляю запрос, которые не принимают application/json , я должен получить 406, Не Приемлемый ответ.
  3. , Если я отправляю запрос с Типом контента кроме application/json , я должен получить 415 Неподдержанный Тип носителя ответ.

Это - фактический результат:

  1. я на самом деле добираюсь 405 - Метод, не позволенный . Очень хороший.
  2. , отправляя запрос с Принимает заголовок с text/xml , только я добираюсь 200 - хорошо , ответ и тип контента ответа text/xml даже при том, что метод только производит application/json .
  3. , отправляя запрос, где тип контента text/xml , я добираюсь 200 - хорошо ответ.

Я могу добавить, что осуществил все это на Джерси, и результаты были все правильны.

1
nl ja de

1 ответы

С Весной 3.2 поведение вроде того, что вы описали, за исключением 2, где я получил 405 (метод, не позволенный) вместо 406. Можно ли подтвердить, какую версию Весны вы используете для этих тестов и если это выполнимый модернизировать по крайней мере до 3.10 + и подтвердить еще раз это поведение.

0
добавлено
Да, не способный объяснить поведение вы видите хотя
добавлено автор Biju Kunjummen, источник
Я действительно использую весну 3.2.0. ВЫПУСК (из хранилища знатока). Извините за не включая это в моем вопросе.
добавлено автор Ludwig Magnusson, источник
Вы получаете 405, когда вы используете правильный метод HTTP, но используете Принять заголовок, который не включает тип контента, определенный в "продукты"?
добавлено автор Ludwig Magnusson, источник
pro.jvm
pro.jvm
3 503 участник(ов)

Сообщество разработчиков Java Scala Kotlin Groovy Clojure Чат для нач-их: @javastart Наш сайт: projvm.com projvm.ru Наш канал: @proJVM Вакансии: @jvmjobs Конфы: @jvmconf

Java & Co
Java & Co
2 370 участник(ов)

Можно обсуждать с матом и без всё, что касается жабы, вплоть до холиваров. НЕ ИМЕЕТ ОТНОШЕНИЯ К САЙТУ JAVARUSH.RU ПРАВИЛА - https://t.me/javarush/75723 Вакансии сюда - https://telegram.me/joinchat/B7IzvUCnfo6d8t3yIxKguQ По вопросам - @thedude

learn.java
learn.java
1 888 участник(ов)

Чат для начинающих и не только Статистика: https://combot.org/chat/-1001083535868 Основной чат - @jvmchat

Spring Framework and more
Spring Framework and more
839 участник(ов)

чат о spring framework и связанных с ним технологиях. We're discussing: job, tech questions, beer meet up/networking: tech review ,LinkedIn skills, SOF q/a raise up& etc. languages: russian,java,eng.

Java Underground
Java Underground
169 участник(ов)

https://vk.com/javatutorial

Javanese Questions
Javanese Questions
109 участник(ов)

Чат предназначен для обмена знаниями строго в формате в вопрос-ответ. Тема — Java, Kotlin и Android. Вопрос должен быть предварительно прогуглен, понятно и грамотно сформулирован, помечен хэштегами. Ответ — тем более. Куски кода размером в несколько строк можно писать прямо здесь, для больших кусков кода стоит использовать http://gist.github.com/, http://pastebin.com/, https://codeshare.io/ или любой аналогичный сервис. В некоторых случаях можно прикреплять скриншоты. Стикеры и гифки запрещены. Дополнять и уточнять вопросы и ответы — редактированием исходного сообщения. Обсуждения должны приводить к редактированию вопроса/ответа и удаляться. По хештегам можно искать существующие вопросы и овтеты: #вопрос #ответ #git #generics #java #server #awt #javafx #swing #kotlin #anko #tornadofx #ktor #android #recyclerView #performance #arch #network #permissions #storage #async