小编iav*_*ish的帖子

我们应该在 REST API 的路径参数、查询参数或 JSON 请求中使用枚举常量吗?

问题是关于 REST API 的最佳实践。

示例:我有一个以路径参数作为状态的 get API。

/api/{status}
Run Code Online (Sandbox Code Playgroud)

现在,在代码中,状态被定义为一个枚举(Status)。状态值只能有 3 个(或一些有限的)可能值。

public enum Status {
    created,
    completed,
    cancelled
}
Run Code Online (Sandbox Code Playgroud)

那么,我应该接受“状态”作为字符串还是枚举类型?

@Path("/api/{status}")
@GET
public Response get(@PathParam("status") String status) {}
// then I can check if it is a valid status
Run Code Online (Sandbox Code Playgroud)

或者

@Path("/api/{status}")
@GET
public Response get(@PathParam("status") Status status) {}
// it will throw an exception if it is an invalid status
Run Code Online (Sandbox Code Playgroud)

另外,我也想知道关于查询参数和 JSON 请求的最佳实践。

java rest json jax-rs

5
推荐指数
1
解决办法
2924
查看次数

标签 统计

java ×1

jax-rs ×1

json ×1

rest ×1