REST-Dienste - Tests LEGEN Sie die Methoden in den browser
Habe ich entwickelt, REST-services. Ich kann testen Sie die GET-Methoden, die vom browser oder von einer Client-Anwendung. Aber diejenigen, die haben Methoden, die ich nicht wissen, wie Sie zu konsumieren, indem Sie die browser -...
Beispielsweise, ich habe diese Methode schaltet eine Lampe an, nachdem ich das einfügen userId:
@PUT
@Path("/lampon")
@Produces({"application/json", "text/plain"})
@Consumes("multipart/form-data")
public boolean turnOnLamp(@FormParam("userId") String userId) throws Exception
{
boolean response = new LampManager().turnOnLamp(userId);
return response;
}
In meine client-Anwendung, mit der ich dies tun, und es funktioniert:
String webPage = "http://localhost:8080/BliveServices/webresources/services.actuators/lampon";
URL urlToRequest = new URL(webPage);
//Authentication
urlConnection = (HttpURLConnection) urlToRequest.openConnection();
urlConnection.setReadTimeout(10000);
urlConnection.setConnectTimeout(15000);
urlConnection.setRequestMethod("PUT");
urlConnection.setRequestProperty("Authorization", basicAuth);
urlConnection.setRequestProperty("Content-type", "multipart/form-data");
urlConnection.setRequestProperty("Accept", "application/json");
urlConnection.setDoOutput(true);
urlConnection.setDoInput(true);
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("userId", "2"));
(...)
Aber wie kann ich senden Sie die Benutzer-id vom browser?
Andere Sache, ich bekomme diese Meldung, wenn ich Baue mein Projekt:
SEVERE: Resource methods utilizing @FormParam and consuming "multipart/form-data" are no longer supported. See @FormDataParam.
Dank
Versuchen Sie, verwenden Sie eine der folgenden: RESTClient oder Poster, die Sie beide plugin für den firefox-browser, oder downloaden Sie freie version von SoapUi. Sie alle geeignet für den Test von web-service und einfach zu bedienen.
InformationsquelleAutor user2144555 | 2013-04-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie testen wollen, der REST-Webservice mit Ihrem Browser müssen Sie ein plugin.
Wenn Sie Google Chrome verwenden, können Sie installieren, REST Konsole ich nutze auch diese plugins zu testen, mein Webservice.
https://chrome.google.com/webstore/detail/rest-console/cokgbflfommojglbmbpenpphppikmonn
Für Firefox installieren, diese REST-Client
https://addons.mozilla.org/en-us/firefox/addon/restclient/
REST-CLient ist auch für Safari
http://restclient.net/
Oper können Sie sich über die Einfache REST-Client
https://addons.opera.com/en/extensions/details/simple-rest-client/
Ihre zweite Frage
bitte versuchen Sie so Verbraucht mit dem Wert "application/x-www-form-urlencoded'
Aber ich weiterhin mit der
@FormParam
? Da der Fehler immer noch auftaucht.public boolean turnOnLamp(@FormParam("userId") String userId) throws Exception { boolean Antwort = new LampManager().turnOnLamp(userId); return response; } sollte funktionieren...
Ja, das war ich, aber ich bekomme immer wieder
Resource methods utilizing @FormParam and consuming "multipart/form-data" are no longer supported. See @FormDataParam.
... ich ändere es in jeder Methode, wo ich @FormParam.sind Sie auch "application/x-www-form-urlencoded' mit Ihrem Kunden?
InformationsquelleAutor Zelldon
Ausgabe eine put-Anforderung von einem browser, den Sie verwenden konnten jQuery
jQuery.ajax()
. (http://api.jquery.com/jQuery.ajax/)Beispiel:
Senden würde ein put-request an " test-url mit den angegebenen Daten.
InformationsquelleAutor Ayonix