gpt4 book ai didi

Java应用程序使用POST请求并打开新的浏览器页面显示内容

转载 作者:太空宇宙 更新时间:2023-11-04 09:11:13 26 4
gpt4 key购买 nike

我正在寻找设计建议。外部供应商通过 HTTP POST 请求向我发送数据,我将在 Java 应用程序中使用该数据。我需要使用该数据,然后将其显示在新的浏览器网页中。

目前,我使用 POST 请求,将数据存储在缓存中,然后让供应商将用户重定向到我的 Angular UI 页面,该页面执行 HTTP Get 并检索刚刚发布的数据,然后清除缓存。

它有效,但我知道这不是处理这个问题的最佳方法。有什么想法吗?

这是我的 Controller 类代码的简化版本

公共(public)类myController {

@Inject
IVendorObject obj;

@Inject
CacheManager cache;

@POST
@Path("/post-vendor-data")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public Response createThisObject(@Valid VendorObject obj) {
cache.put("myKey", obj);
return Response.ok(OBJ).build();
}

@GET
@Path("/get-vendor-data")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public VendorObject getThisObject() {
obj = cache.get("myKey");
cache.remove("myKey");
return obj;
}

}

最佳答案

对于任何有类似要求的人来说,这是一个更好而且可能是最简单的选择,感谢 edwgiz 的上述评论激励我朝这个方向前进。

缓存、重定向和 Angular 已被消除,我只是将请求转发到 jsp 页面。上述两种方法现已简化为:

    @POST
@Path("/post-vendor-data")
@Produces(MediaType.TEXT_HTML)
@Consumes(MediaType.APPLICATION_JSON)
public void createThisObject(@Valid VendorObject obj) throws IOException, ServletException {
RequestDispatcher view = request.getRequestDispatcher("/index.jsp");
request.setAttribute("myObject", obj);
view.forward(request, response);
}

关于Java应用程序使用POST请求并打开新的浏览器页面显示内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59648304/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com