Básicamente, una característica de mi aplicación es recuperar los amigos del usuario registrado.
En realidad, dudo entre ambos tipos de puntos finales:
- OBTENER / api / usuarios / amigos
- GET / api / users /: userId / friends
Usando 1, userId
sería accesible a través del token de autenticación.
Usando 2, el servidor tendría que verificar adicionalmente la correspondencia entre el pasado userId
y el ID de usuario registrado especificado en el token de autenticación para evitar cualquier acceso malicioso a otros datos del usuario, como amigos.
Entonces 1 debería ser suficiente, pero no suena como una URL de descanso estándar.
¿Qué es una buena práctica?
fuente
GET /api/friends
lo cambiaría de nombreGET /api/myFriends
. Desde el punto de vista de la visibilidad, es más autodocumentado. Además, con REST es útil pensar cómo lo manejaría un caché de navegador / proxy. ConGET /api/myFriends
ello es perfectamente posible tener un error en el que se visualizan los amigos equivocados debido al almacenamiento en caché.Descanso Api debe ser impulsado por hipertexto! Como haría clic de un enlace a otro en una página html estándar.
Una URL es un identificador único para un recurso. Tener una URL que represente más de un recurso está en total desacuerdo con ReST.
Con su ejemplo, la siguiente url:
debería tener un enlace en su respuesta a: url de amigos de userId
La disertación de Roy Fielding contiene un conjunto de restricciones necesarias para cumplir con ReST.
http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven http://fr.slideshare.net/rnewton/2013-06q-connycrestfulwebapis http: //www.ics. uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
fuente