Невозможно вызвать веб-сервис @DELETE в REST / JERSEY
Я использую Jersey Framework (реализацию JAX-RS) для создания веб-сервисов RESTful.
Я не могу использовать метод @DELETE REST, так как он вызывает исключение, когда я пытаюсь вызвать его. Следующий метод @DELETE используется для удаления Employee:
@Path("/employees")
public class EmpResource {
@DELETE
@Consumes(MediaType.APPLICATION_JSON)
public Response deleteEmployee(JAXBElement<String> r) throws ClassNotFoundException, SQLException {
String name = r.getValue();
String response = DAOaccess.deleteEmp(name);
return Response.noContent().build();
}
И я использую следующий блок кода для вызова службы:
Client client = Client.create();
WebResource webResource = client.resource("http://localhost:8080/RestApp/sample/employees");
String input = "{\"name\":\"John\"}";
ClientResponse response = webResource.type(MediaType.APPLICATION_JSON).delete(ClientResponse.class,input);
Когда я запускаю свой клиент, он выдает следующее исключение:
Exception in thread "main" com.sun.jersey.api.client.ClientHandlerException: java.net.ProtocolException: HTTP method DELETE doesn't support output
at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:151)
at com.sun.jersey.api.client.Client.handle(Client.java:648)
at com.sun.jersey.api.client.WebResource.handle(WebResource.java:680)
at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
at com.sun.jersey.api.client.WebResource$Builder.delete(WebResource.java:599)
Было бы здорово, если бы кто-нибудь мог мне помочь, как решить это?