问题是关于 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 请求的最佳实践。