在play框架java中检索POST请求中发送的请求正文字符串

我在Java中使用play框架。我想检索在 POST 请求中发送到播放服务器的整个请求正文。如何找回它?


答案 1

看看类,你有一些选择(取决于数据格式),即play.mvc.Http

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();

您可以从命令行测试,即使用cUrl:request().body().asText()

curl  -H "Content-Type: text/plain" -d  'Hello world !' http://domain.com/your-post-action

...或者使用一些工具,如浏览器插件:https://chrome.google.com/webstore/detail/advanced-rest-client/hgmloofddffdnphfgcellkdfbfbjeloo


答案 2

使用Play Framework 2.3,即使内容类型标头是应用程序/json,也可以获得原始json文本

def postMethod = Action(parse.tolerantText) { request =>
    val txt = request.body
}