java - 设计具有不同响应参数但相同请求的 REST API

标签 java web-services rest http jersey

我想设计rest API,其中对于具有不同路径变量的同一请求可以有不同的响应参数。 示例:

URI : /mybook/{key}

场景 1:/mybook/page1 回复:

{
    a: "val1",
    b: "val2"
    c: "val3"
}

场景 2:/mybook/page2 回复:

{
    d: "value4",
    e: "value5"
    f: "value6"
}

场景 3:/mybook/page3 回复:

{
    g: "value7",
    h: "value8"
    i: "value9"
}

是否可以像上面那样创建它? 应该是 3 个独立的 API 还是包含所有请求参数的单个 API?

最佳答案

如果您将页面视为一种资源,并且您只有一本书,那么您可能会将 API 设计为:

URI : /mybook/pages/{page-no}

因此您的场景将更改为:

/mybook/pages/1
/mybook/pages/2
/mybook/pages/3

否则,如果书籍是您的资源,并且页面只是书籍的 View ,那么您可能会将API设计为:

URI : /books/{book-id}?page={page-no}

因此您的场景将更改为:

/books/my?page=1
/books/my?page=2
/books/my?page=3

关于java - 设计具有不同响应参数但相同请求的 REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43936331/

相关文章:

java - Web 服务中每个用户的全局变量

java - JDBI 如何在防止 SQL 注入(inject)的同时动态创建 WHERE 子句?

java - SimpleDateFormat 解析时间异常

java - 公开绑定(bind)属性

java - 使用 OpenJDK 1.8 的 JavaFX 的 Maven 依赖项

java - 在Java中将文件从一个文件夹复制到另一个文件夹

java - 在 Java/Eclipse 中创建 Web 服务以从数据库获取值

jquery - 使用 HTTPGET 的 C#.NET Web 服务返回 System.IndexOutOfRangeException

php - Zend Framework 2 限制 REST API 只接受 application/json 或 application/xml

java - @Autowired 无法在 RESTFul Web 服务请求中工作