Actualmente estoy usando Jersey Framework (implementación de JAX-RS) para construir servicios web RESTful. Las clases de recursos en el proyecto han implementado las operaciones HTTP estándar: GET, POST & DELETE. Estoy tratando de averiguar cómo enviar parámetros de solicitud del cliente a estos métodos.http delete con REST
Para GET estaría en la cadena de consulta (extraer usando @QueryParam
) y POST sería la lista de pares nombre/valor (extraer usando @FormParam
) enviado con el cuerpo de la solicitud. Los probé usando HTTPClient y funcionó bien. Para la operación DELETE, no encuentro ninguna respuesta concluyente sobre el tipo/formato del parámetro. ¿La operación SUPRIMIR recibe parámetros en la cadena de consulta (extraer usando @QueryParam
) o en el cuerpo (extraer usando @FormParam
)?
En la mayoría de los ejemplos de DELETE en la web, observo el uso de la anotación @PathParam
para la extracción de parámetros (esto sería de nuevo desde la cadena de consulta).
¿Es esta la forma correcta de pasar parámetros al método DELETE? Solo quiero tener cuidado aquí para no estar violando ningún principio de REST.
'? WipeData = true' es un mal uso de la cadena de consulta. rfc 3986 sección 3.4 establece "El componente de consulta contiene datos no jerárquicos que, junto con los datos en el componente de ruta (Sección 3.3), sirven para identificar un recurso dentro del alcance del esquema de URI y autoridad de denominación (si corresponde)". Un poco confuso es rfc 7231 sección 4.2.1 mencionando "Por ejemplo, es común que el software de edición de contenido basado en web use acciones dentro de los parámetros de consulta, como" page? Do = delete "" Lo que yo diría es también incorrecto – aaaaaa