Ich möchte GET-Requests senden, die von meiner REST-API beantwortet werden sollen. Mein Java-Programm unterstützt derzeit text/plain
, text/html
, text/xml
und application/json
mit dem JAX-RS Referenzimplementierungstrikot.So ändern Sie den Content-Type von GET-Request über das firefox-Addon RESTClient
Zum Testen der verschiedenen Medientypen verwende ich das Firefox Addon RESTClient
. Um den Medientyp zu ändern, muss ich den Header mit name=Content-Type
und z. value=text/xml
.
Aber das RESTClient gibt immer text/html
egal welche Content-Type
ich wähle. Die einzige Möglichkeit, den zurückgegebenen Ergebnistyp zu ändern, besteht darin, den HTML-Abschnitt in meinem Code auszukommentieren. Dann ist text/plain
der zurückgegebene Medientyp, aber das Content-Type
Argument des RESTClient bleibt weiterhin ignoriert.
Ich verwende die neueste Version von RESTClient, die jetzt 2.0.3 ist. Kannst du mir bitte helfen?
Hier ist mein Java-Code:
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
//Sets the path to base URL + /hello
@Path("/hello")
public class restProvider {
// This method is called if TEXT_PLAIN is request
@GET
@Produces(MediaType.TEXT_PLAIN)
public String sayPlainTextHello() {
return "Hello little World";
}
// This method is called if XML is request
@GET
@Produces(MediaType.TEXT_XML)
public String sayXMLHello() {
return "<?xml version=\"1.0\"?>" + "<hello> Hello little World" + "</hello>";
}
// This method is called if HTML is request
// Uncommenting the following 6 lines will result in returning text/plain
@GET
@Produces(MediaType.TEXT_HTML)
public String sayHtmlHello() {
return "<html> " + "<title>" + "Hello World" + "</title>"
+ "<body><h1>" + "Hello little World" + "</h1></body>" + "</html> ";
}
// This method is called if JSON is requested
@GET
@Produces(MediaType.APPLICATION_JSON)
public String getJson(){
Gson gsonObject = new Gson();
return gsonObject.toJson(helloClass);
}
}
Dank! Ich habe die Kopfzeile 'Accept: text/xml' hinzugefügt und das angeforderte Antwortformat erhalten. – Markus
Hallo, wie Sie Accept hinzufügen: Text/XML in jedem GET HTTP-URLs – nilesh1212