Używam architektury gry w języku Java. Chcę pobrać całą treść żądania wysłaną w żądaniu POST do serwera odtwarzania. Jak mogę to odzyskać?Odzyskaj łańcuch treści żądania wysłany w żądaniu POST w strukturze odtwarzania java
Odpowiedz
Spójrz w play.mvc.Http
klasie, masz kilka opcji tam (w zależności od formatu danych), tj
RequestBody body = request().body();
MultipartFormData formData = request().body().asMultipartFormData();
Map<String, String[]> params = request().body().asFormUrlEncoded();
JsonNode json = request().body().asJson();
String bodyText = request().body().asText();
można przetestować request().body().asText()
tj użyciu Curl z poleceń:
curl -H "Content-Type: text/plain" -d 'Hello world !' http://domain.com/your-post-action
... lub za pomocą jakiegoś narzędzia, takiego jak wtyczka przeglądarki: https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo
Jeśli wywołasz poniższy kod na żądanie;
String bodyText = request().body().asText();
bodyText będzie null jeśli nagłówek Content-Type jest application/json
Nie jest sposobem przy użyciu dostarczonych API sterownika do po prostu tekst JSON jeśli nagłówek Content-Type jest application/json bez uprzedniej konwersji do JsonNode
więc najlepszym sposobem, aby to zrobić, jeśli aplikacja/json jest twój nagłówek Content-Type jest
String bodyText = request().body().asJSON().toString();
to nie na odgrywają rolę framework, ponieważ powinny mieć metodę pobierania ciała żądania w postaci ciągu znaków bez względu na nagłówek Content-Type.
z luzem Framework 2.3 jest to możliwe, aby uzyskać surowy tekst json nawet jest Content-Type nagłówek jest application/json
def postMethod = Action(parse.tolerantText) { request =>
val txt = request.body
}
- 1. Uzyskiwanie treści treści żądania za pomocą metody POST Retrofit 2.0
- 2. Jak wysłać plik w żądaniu POST?
- 3. Uzyskiwanie treści żądania POST (Amazon SNS) w Nodejs
- 4. Brak nagłówka autoryzacji w żądaniu PHP POST
- 5. Uzyskiwanie dostępu do surowej treści żądania PUT lub POST
- 6. Naprawdę rejestrowanie treści żądania POST (zamiast "-") przy użyciu nginx
- 7. Łańcuch komparatorów w java
- 8. Kolba - Jak odczytać surową treść w żądaniu POST, gdy typem treści jest "application/x-www-form-urlencoded"
- 9. jQuery ajax post do przedstawienia żądania POST w Phoenix ram
- 10. wysyłanie żądania XML w java
- 11. przesłać wiele plików w jednym żądaniu Dropzone wysyła dwa żądania
- 12. Przekazywanie znaku "+" w żądaniu POST w języku Python
- 13. Jak uciec i w żądaniu POST w jQuery?
- 14. Żądania w pythoku: Opublikuj JSON i plik w jednym żądaniu
- 15. Generowanie ładunku JSON dla żądania HTTP POST w Objective-C
- 16. HTTP POST: wymagany nagłówek długości treści?
- 17. Wystawianie żądania POST z url_for w Flask
- 18. tworzenie żądania POST w szynach z hiperlinkami
- 19. Żądania w pythonie - dane POST z pliku
- 20. Zwrot 503 dla żądania POST w Nginx
- 21. Czy powinienem przerwać przekierowanie po pomyślnym żądaniu POST lub PUT?
- 22. Jak zdobyć URL żądania w żądaniu .get/ajax jQuery $
- 23. Moduły vs warstw w strukturze pakietu Java
- 24. W jaki sposób mogę POST używać języka Java i dołączyć parametry oraz surową treść żądania?
- 25. Czy RestSharp może wysłać listę <string> w żądaniu POST?
- 26. Wysyłanie żądania POST przy użyciu com.google.api.client.http.HttpRequest obiektu w Google API
- 27. Problemy z parsowaniem znaków UTF8 w treści żądania?
- 28. Mongoose zapisz wszystkie parametry z treści żądania
- 29. Uwierzytelnione żądania w OAuth Java
- 30. jQuery żądania post (nie AJAX)
Chcę uzyskać surowy ciąg ciała bez konwertowania go do konkretnych struktur danych Java. Jak mogę to osiągnąć? – Bourne
Powinieneś zajrzeć do wspomnianej klasy: P 'String bodyText = request(). Body(). AsText();' – biesior
Próbowałem tego, ale to pobiera zerowy – Bourne