¿Cuál es la diferencia entre QueryParam y pathParam en los servicios web?


La mejor respuesta

¡Hola!

Vamos a discutir

QueryParam: – En el servicio Restful todo se basa en el protocolo Http.

Así que siempre que queramos enviar algunos datos podemos enviar esos datos usando el parámetro de consulta adjuntando a la url.

Ejemplo: –

http://localhost:8081/SearchApp/book?name=java Aquí QueryParam es el nombre. y su valor es java.

Entonces, aquí QueryParams son opcionales, no es obligatorio enviar el parámetro de consulta.

por lo que si no agrega el QueryParam no obtendrá el error 404. Puede ser que obtenga alguna excepción nullPointer ya que el valor será nulo.

@GET

@Path("/book")

List getBooks(@QueryParam("name")String bookName){

}

PathParam: -Entonces, si desea enviar los datos como obligatorios, puede agregar el valor como un segmento directamente a la URL. Si no agrega el parámetro de ruta, obtendrá el error 404.

Ejemplo: – http://localhost:8081/SearchApp/book/java (así que aquí directamente el valor java se agrega como segmento de URL)

En servicio

Puede recuperarlo así: –

@GET

@Path("/book/{bookname}")

List getBooks(@PathParam("bookname")String bookName){

}

Respuesta

En un esquema REST común, la parte de la ruta de la URL representa la jerarquía de clases de entidad (/ Tables / Dining Por otro lado, los parámetros de consulta podrían reservarse para que los atributos ubiquen la instancia de clase para obtener resultados más específicos. Por ejemplo, le gustaría obtener una lista de mesas de comedor de color marrón de la siguiente URL

// productos / mesas / mesa de comedor? Color = marrón

@PathParam se usa para hacer coincidir una pieza de la URL como parámetro. Por ejemplo, en una URL con el formato http://example.com/tables/{diningtable}, puede utilizar @PathParam («mesa de comedor») para acceder a la clase de entidad mesa de comedor.

QueryParam se utiliza para acceder pares clave / valor en la cadena de consulta de la URL (la parte después de?). Por ejemplo, en la URL http://example.com/ tables / diningtable? Color = marrón, puede usar @QueryParam («color») para obtener el valor del color que es marrón.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *