我应该为UPDATE
(PUT
)和DELETE
(例如产品成功更新)设置什么状态代码?
假设我有一个API,您可以在其中获取用户:
GET /RESTAPI/user/
Run Code Online (Sandbox Code Playgroud)
您可以通过以下方式删除用户:
DELETE /RESTAPI/user/123
Run Code Online (Sandbox Code Playgroud)
关于DELETE的响应主体应该包含什么是RESTful约定?我希望它应该是所有用户的新列表,现在不再包含id为123的用户.
谷歌搜索没有给我任何令人满意的答案.我只发现了如何做到这一点的意见,但是没有RESTful服务的严格定义?
这不是RESTful API POST/DELETE在正文中返回什么的重复?和什么REST PUT/POST/DELETE调用应由公约回报? 因为这个问题要求对DELETE有严格的定义.这些问题只能通过松散的意见来回答.
我正在使用JAX-RS的平针织实现来进行Web服务.我是这个JAX-RS的新手.
我正在尝试在服务中添加一个接受Employee对象的方法,并根据Employee对象值返回雇员Id(此时有一个DB命中).
遵循Restful原则,我将方法设为@GET并提供了url路径,如下所示:
@Path("/EmployeeDetails")
public class EmployeeService {
@GET
@Path("/emp/{param}")
public Response getEmpDetails(@PathParam("param") Employee empDetails) {
//Get the employee details, get the db values and return the Employee Id.
return Response.status(200).entity("returnEmployeeId").build();
}
}
Run Code Online (Sandbox Code Playgroud)
出于测试目的,我写了这个客户端:
public class ServiceClient {
public static void main(String[] args) {
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
WebResource service = client.resource(getBaseURI());
Employee emp = new Employee();
emp.name = "Junk Name";
emp.age = "20";
System.out.println(service.path("rest").path("emp/" + emp).accept(MediaType.TEXT_PLAIN).get(String.class));
}
private static URI getBaseURI() {
return UriBuilder.fromUri("http://localhost:8045/AppName").build(); …
Run Code Online (Sandbox Code Playgroud)