我正在探索使用带有约定+休息插件的struts 2。有一个 struts2-rest-showcase 应用程序展示了如何将这些插件与 struts 2 一起使用。在示例应用程序中,它们总是重定向到 HTML 页面。我想知道是否可以通过 Response 对象编写 JSON/XML?有没有人有任何简单的代码来展示如何做到这一点?
例如,用户可以在 /myapp/orders/new 处创建新资源,然后返回 JSON 消息:{“results”:“新订单创建成功”}。下面的代码是在 OrdersController 中,我宁愿在其中写回 JSON(实际上,它会返回到 /WEB-INF/content 中的 HTML 页面)。
public HttpHeaders create() {
ordersService.save(model);
addActionMessage("New order created successfully");
return new DefaultHttpHeaders("success").setLocationId(model.getId());
}
另一方面,这个要求是对 REST 的正确使用吗?当我执行 GET、POST、PUT、DELETE 命令时,对我返回的内容有什么期望?我不应该拿回任何东西(包括 XML/JSON)吗?