playframework - 如何将 mvc.play.Result 转换为 JsonNode 或 String
问题描述
我正在使用播放框架 2.6.17。我在控制器中有一个名为“MasterTag”的类。该类的索引函数返回 JsonNode(return ok(jsonNode)) 值。
public class MasterTag extends Controller{
public Result index(){
ObjectMapper mapper = new ObjectMapper();
JsonNode responseNode = mapper.readTree("{\"mastertag\":\"0.5\"}");
return ok(responseNod);
}
}
我在控制器中有另一个名为“HomeController”的类,其中调用了 MasterTag.index()。这返回类型为 play.mvc.Result
如何从上述调用获得的 Result 中提取原始 JsonNode?
解决方案
我没有答案如何获取 Json,但我终于知道了,如何从 Result 中获取字符串
1.
@Inject
Materializer materializer;
// this is another controller, I would like to get Result from
@Inject
URLExamplesController urlExampleContoller;
2.
public Result index() {
// how to convert Result into String
// caling function in another controller to get Result object
Result result = urlExampleContoller.getQuestyParameterExample2("test 123");
FiniteDuration finiteDuration = Duration.create(5000, TimeUnit.MILLISECONDS);
byte[] body = Await.result(
FutureConverters.toScala(result.body().consumeData(materializer)), finiteDuration).toArray();
String outputOfAnotherController = new String(body);
}
推荐阅读
- java - Android导航组件将参数传递给抽屉导航条目
- python - 在每个 txt 文档条目上添加数字 00-99
- javascript - 反应:按钮单击不写入控制台
- powerbi - 为什么我会收到“按另一列排序”错误 Power BI
- excel - MS Query 中一列的 DISTINCT 查询的语法
- javascript - 如何使用 Javascript 将大的 HTML 片段附加到 DOM 中?
- domain-driven-design - 聚合根与子方法
- python - 完成后多处理池挂起
- css - Firefox 在 Angular Material 表单字段中添加了额外的空间
- css - 如何在 CSS 中创建一个活动选项卡?