Herramientas de usuario

Herramientas del sitio


code:rest

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
code:rest [2011/07/29 09:26]
alfred
code:rest [2020/05/09 09:25] (actual)
Línea 66: Línea 66:
   - No utilizar las URIs correctamente. Para acceder a un recurso haríamos "​someuri/​resource/​322"​ o utilizaríamos RDF.   - No utilizar las URIs correctamente. Para acceder a un recurso haríamos "​someuri/​resource/​322"​ o utilizaríamos RDF.
   - Preocuparse por el protocolo. ​   - Preocuparse por el protocolo. ​
 +
 +
  
  
Línea 74: Línea 76:
 Una URI como la siguiente sería incorrecta: ''<​nowiki>​http://​example.com/​some-api?​method=deleteCustomer&​id=1234</​nowiki>'',​ es posible que sea más fácil de desarrollar y testear, pero en este caso no se está utilizando la URI como un identificador,​ además el link no puede ser guardado, puede que un robot de búsqueda lo ejecute sin querer... \\  Una URI como la siguiente sería incorrecta: ''<​nowiki>​http://​example.com/​some-api?​method=deleteCustomer&​id=1234</​nowiki>'',​ es posible que sea más fácil de desarrollar y testear, pero en este caso no se está utilizando la URI como un identificador,​ además el link no puede ser guardado, puede que un robot de búsqueda lo ejecute sin querer... \\ 
 Un GET no debe modificar. Un GET no debe modificar.
 +
 === Utilizar con exceso POST === === Utilizar con exceso POST ===
 Similar al anterior solo que con el método POST. \\  Similar al anterior solo que con el método POST. \\ 
 GET es para leer, POST para modificar. GET es para leer, POST para modificar.
  
 +=== Ignorar la caché ===
 +Utilizar una cabecera como ''​Cache-control:​ no-cache''​ evitaría que el navegador insertase en su caché el contenido. A veces esto puede ser útil pero a menudo se le puede sacar partido a la caché del cliente, por ejemplo si un recurso se actualiza cada 30 minutos se puede evitar las peticiones en peridos más cortos.
 +
 +=== Ignorar códigos ===
 +HTTP tiene una serie de códigos internos para lidiar con distintos casos (200: todo ha ido corretamtente,​ 404: no se encontró el recurso, 500: hubo un error interno...) y que si se utilizan son una herramienta más que correcta para la comunicación cliente-servidor. \\ 
 +Por ejemplo el 201 para cuando se ha creado un recurso, el 409 cuando ha habido un conflicto (por ejemplo de versiones de un recursos), el 412 para indicar que no se reconoce al cliente. ​
  
 +=== Usar incorrectamente las cookies ===
 +De la misma forma que las sesiones, el uso de cookies para mantener una conversación con el server; sí que podrían ser usadas para, por ejemplo, guardar un token de autentificación (aunque es preferible utilizar la autentificación HTTP).
  
 +=== Olvidar la hypermedia ===
 +El concepto de hypermedia corresponde al hecho de linkar elementos entre ellos. Olvidar la hypermedia es no agregar links en las representaciones de los recursos, es importante que los subrecursos sean devueltos como links.
  
 +=== Ignorar los MIME types ===
 +Puede que un recurso sea devuelto en distintos formatos (XML, JSON, YAML, PDF...), la forma adecuada de devolverlo al cliente es mediante el uso correcto de MIME-TYPES.
  
 +=== Romper la auto descripción ===
 +Básicamente es seguir los estándards REST.
  
 ===== Notas ===== ===== Notas =====
code/rest.1311931568.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)