Ich verwende Netflix Feign meine java http Kunden zu machen, einen Client wie folgt aus:Netflix Feign Inhaltstyp 'pplikation/json; charset = UTF-8' nicht
public interface PromocodeClient {
@Headers({
"Content-Type:" + MediaType.APPLICATION_JSON_UTF8_VALUE, "userIdentifier: {userIdentifier}"
})
@RequestLine("POST /rootpath/{code}/unblock")
Boolean unblock(
@Param("userIdentifier") String userIdentifier,
@Param("code") String promocode,
BookingDTO booking);
static PromocodeClient connect() {
return Feign.builder()
.encoder(new GsonEncoder())
.decoder(new GsonDecoder())
.target(PromocodeClient.class, Urls.SERVICE_URL.toString());
//Url.SERVICE_URL = http://localhost:8082/1.0
}
Ich erhalte eine seltsame Fehler
{
"timestamp" : "2016-08-02T07:47:16.208+0000",
"status" : 415,
"error" : "Unsupported Media Type",
"exception" : "org.springframework.web.HttpMediaTypeNotSupportedException",
"message" : "Content type 'pplication/json;charset=UTF-8' not supported",
"path" : "/1.0/rootpath/COD_PROMOCODE/unblock"
}
}
die Nachricht sagt "Content-Typ 'pplikation/json; charset = UTF-8' nicht unterstützt", aber ich bin mit der MediaType.APPLICATION_JSON_UTF8_VALUE
des Frühlings, welcher Wert ist
application/json; charset = UTF-8
Wer weiß, was passiert ist?
Funktioniert es, wenn Sie nach dem Doppelpunkt ein Leerzeichen einfügen? '" Content-Type: "+ ...' (sollte nicht notwendig sein; aber der Server könnte etwas Hackiges machen, wie das Finden des ':' und das Bewegen von 2 Zeichen, um den Anfang des Wertes zu finden). –