[Geoserver-devel] REST: POST /styles and Content-Type via URL goes wrong (GS 2.18.0)

Hi,

this section of the manual:

https://docs.geoserver.org/latest/en/user/rest/api/details.html#formats-and-representations

tells that I can use the URL ending to control the Format being used in
the message body for REST calls.

It works OK for GET calls:

curl -u admin:geoserver -XGET http://localhost:8080/geoserver/rest/styles.xml
--> XML

curl -u admin:geoserver -XGET http://localhost:8080/geoserver/rest/styles.json
--> JSON

But for this POST call, it doesn't work:

curl -v -u admin:geoserver -XPOST -H "Content-type: text/xml" -d "<style><name>roads_style</name><filename>roads.sld</filename></style>" http://localhost:8080/geoserver/rest/styles.xml

It ends in a stacktrace starting with:

java.lang.RuntimeException: No such style handler: format = text/xml
  at org.geoserver.catalog.Styles.handler(Styles.java:156)
  at org.geoserver.rest.catalog.StyleController.styleSLDPost(StyleController.java:227)

If I leave out the ".xml" at the end, it works as expected. Same
problem for JSON content/URL-ending.

The problem here is that I get routed into the wrong Method within
StyleController: With the ".json"-Ending, I get into

        consumes = {MediaType.ALL_VALUE}
    )
    public ResponseEntity<String> styleSLDPost(

which is for uploading the Style Content.

Only if leaving out the ".xml" ending from the URL, I get into the
correct

public String stylePost(

Method for creating the blank style entry in the catalog.

Any idea what's wrong here? Was there a change in the Spring framework?
I can confirm that it works with GS 2.12.2

Thanks,

Björn