REST는 쿼리가 실제로 URL이므로 개의 쿼리을 처리하도록 설계되지 않았습니다. 자원을 검색 할 때 원하는 자원의 ID를 지정하십시오. 이것은 단순히 숫자 또는 문자열이며 예를 들어 URL에 쉽게 나타낼 수 있습니다.
http://host/employee/57
귀하는 직원 57을 얻게됩니다. 요구 사항이 더 복잡하면 몇 가지 매개 변수를 전달하는 검색 방법을 사용할 수 있습니다. 여기서 @QueryParam
을 사용할 수 있지만 실제로는 순수한 형태로 남아 있지는 않습니다.
데이터를 POST 또는 PUT하는 경우 GET을 수행하는 경우와 동일한 URL을 사용합니다. 이때 콘텐츠 본문에 데이터를 보낼 때만 사용합니다. 객체를 GET 요청으로 반환하기 위해 직렬화 할 수 있으므로 클라이언트는 직렬화하여 PUT 또는 POST로 전송할 수 있어야합니다.
다음은 GET 및 POST의 예입니다.
@XmlType
public class Employee {
private int id;
private String name;
//getters and setters
}
@Path("/employee")
public class EmployeeService {
@GET
@Path("/{id}")
@Produces(MediaType.APPLICATION_XML)
public Employee get(@PathParam("id") String id) {
Employee e = employeeDao.getEmployee(id);
if (e != null) {
return e;
} else {
throw new WebApplicationException(404);
}
}
@POST
@Consumes(MediaType.APPLICATION_XML)
@Produces(MediaType.APPLICATION_XML)
public Employee post(Employee employee) {
return employeeDao.insertEmployee(employee); //Assumes your DAO sets the ID
}
}
답장을 보내 주셔서 감사합니다. 복잡한 객체를 수신하고 반환하는 POST의 샘플 코드를 제공 할 수 있습니까? – chan
이것은 좋아 보이지만 나의 기준을 충족시키지 못합니다.
public X POST (T)
을 (를) 찾으려고합니다.public T POST (T)
– chan이전 메모를 편집 할 수 없습니다. 하지만 기본적으로 내가 당신의 예제와 비교하기를 원하는 것은 public Employee post (SearchEmployeeCriteria sec)와 같은 것을하는 것입니다. 그래서 본질적으로 다른 객체의 일부로 복잡한 매개 변수 집합을 가진 직원을 검색합니다. 반환 및 매개 변수 개체가 동일하지만 내 예제에는없는 경우 예제가 작동합니다. – chan