是否可以在类/接口中包含多个@POST标记。如果这段代码存在问题,请告诉我,如果是这样,为什么:
@Produces("application/json")
@Consumes("application/json")
@Path("/user/raflets/{appId}/admin/batch/{batchId}/instance")
public interface RafletJobInstanceRestService {
@GET
@Path("/{instanceId}")
JobInstanceBean getJobInstanceDetails(@Context UriInfo uriInfo,
@PathParam("appId") int appId, @PathParam("batchId") int batchId,
@PathParam("instanceId") int instanceId);
@POST
@Path("/{instanceId}")
JobInstanceBean updateInstance(@Context UriInfo uriInfo,
@PathParam("appId") int appId, @PathParam("batchId") int batchId,
@PathParam("instanceId") int instanceId,
JobInstanceBean batchInstance);
@POST
@Path("/clone/{instanceId}")
JobInstanceBean cloneInstance(@Context UriInfo uriInfo,
@PathParam("appId") int appId, @PathParam("batchId") int batchId,
@PathParam("instanceId") int instanceId,
JobInstanceBean batchInstance);
}
我认为,因为每个帖子都有不同的路径,所以不会有问题,对吗?
答案 0 :(得分:2)
是的,有多个@POST
注释可以。对于这个问题,可以有多个@GET
注释。它们只是指定API端点应响应的HTTP谓词。
在相关说明中,如果您的API是通过HTTPS提供的,并且您在这些POST请求中发送敏感数据,则可能需要考虑将此数据作为POST参数发送到标头而不是URL中。 URL中的API端点和参数仍然可见,但您的敏感数据将在标头中加密。为此,您只需将其从服务路径中删除,然后使用@FormParam
而不是@PathParam
检索它们。