gpt4 book ai didi

java - 具有 RESTful 内容提供程序的动态网页

转载 作者:行者123 更新时间:2023-11-27 22:32:00 25 4
gpt4 key购买 nike

也许这是一个新手问题,所以很抱歉 :)

我有一个返回 JSON 对象的 REST API。我正在尝试构建一个包含 2 个页面的网站:

  1. 第一页显示一个表格,其中显示文章标题(假设我们有“文章 ID”、“作者姓名”、“标题”)。 “文章 ID”列是可点击的
  2. 第二页显示一篇文章。

我希望能够从第一页点击 id 列,执行 GET 请求以获取文章的 JSON 对象,然后在单篇文章页面中很好地呈现它。我希望 GET 请求后的 url 类似于:`http://[web-server-name]/article/[id]

如果我正在编写一个使用 jQuery 获取 JSON 对象的静态页面,那么 url 将不是我正在寻找的资源格式。如果我将从 REST 服务器返回 HTML,那么维护这样的页面以及将逻辑与表示相结合都会很丑陋。

正确的做法是什么?谢谢!

最佳答案

您可以在相同的 @Path 中声明方法,但 @Produces 是两种不同的 mime 类型,根据 Accept< 选择合适的 客户端发送的 header :

@GET
@Path("/article/{id}")
@Produces(MediaType.APPLICATION_JSON)
public Response getArticle(@PathParam("id") long id) {
Article myArticle = getArticleById(id);
return Response.ok(myArticle);
}

@GET
@Path("/article/{id}")
@Produces(MediaType.TEXT_HTML)
public Response getArticleHtml(@PathParam("id") long id) {
InputStream myHtml = getClass().getClassLoader().getResourceAsStream("/path/to/html.html");
return Response.ok(myHtml).build();
}

但是,这让您的 Jax-RS 实现服务于它不是为之设计的静态资源。或者您可以使用单页 Javascript 框架,如 AngularJS

关于java - 具有 RESTful 内容提供程序的动态网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17081763/

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