Является ли Micronaut неправильной обработкой заголовка типа содержимого запроса?

Учитывая этот простой контроллер, похоже, что Micronaut отклоняет запросы с «415 Unsupported Media Type» на основе заголовка типа контента запроса в запросе GET.

@Controller
class BadController() {

    @Get("/blah")
    @Produces("image/svg+xml")
    fun getBlah(): HttpResponse<*> {
        return HttpResponse.ok("</some-svg>")
    }
}

Например:

curl -v http://localhost:8080/blah -H "Content-Type: text/plain" 
*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 8080 (#0)
> GET /blah HTTP/1.1
> Host: localhost:8080
> User-Agent: curl/7.54.0
> Accept: */*
> Content-Type: text/plain
> 
< HTTP/1.1 415 Unsupported Media Type
< Date: Mon, 7 Jan 2019 16:31:48 GMT
< transfer-encoding: chunked
< connection: close
< 
* Closing connection 0

Документ заголовка типа контента MDN звучит так, как будто заголовок даже не будет использоваться сервером для GET, потому что клиент не отправляет контент:

В запросах (таких как POST или PUT) клиент сообщает серверу, какой тип данных фактически отправляется.

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type


person Eric Runquist    schedule 07.01.2019    source источник
comment
Нет смысла отправлять тип контента для запроса GET (stackoverflow.com/questions/5661596/)   -  person Sascha Frinken    schedule 08.01.2019
comment
Сервер должен иметь возможность правильно отвечать и отбрасывать части в соответствии со спецификацией HTTP. HTTP-сервер Erlang Cowboy не ведет себя таким образом, поэтому здесь что-то странное.   -  person x80486    schedule 08.01.2019
comment
JMeter — это клиент, отправляющий тип контента в запросах GET. Spring правильно игнорировал тип контента, а Micronaut — нет.   -  person Eric Runquist    schedule 08.01.2019
comment
Запуск curl -v http://localhost:8080/blah -H "Content-Type;" для получения пустого типа контента вызывает внутреннюю ошибку сервера в Micronaut.   -  person Eric Runquist    schedule 08.01.2019