Estoy queriendo hacer una API rápidamente, siguiendo los principios de REST - para una aplicación web simple que he creado. El primer lugar donde se usará la API es interactuar con una aplicación de iPhone. La API solo necesita manejar algunas llamadas básicas, pero todas requieren autenticación, nada es información pública.Creando una apk RESTful simple
- de usuario/autenticación de usuario
- lista get de los registros en el grupo de usuarios
- lista get nuevo, sólo aquellos que han cambiado (recién añadida o actualizada)
- registro de actualización
Así , siguiendo los principios REST, ¿configuraría el esquema uri ?:
- mysite.com/api/auth POST (?)
- mysite.com/api/users (GET)
- mysite.com/api/update POST (?)
y las respuestas será en XML para empezar, JSON demasiado tarde.
En el sitio web, los usuarios inician sesión con correo electrónico y contraseña. ¿Debo permitirles obtener un 'token' en su página de perfil para aprobar con cada solicitud de API? (Haría que el recurso URI autónomo '/ auth' sea redundante).
¿Mejores prácticas para estructurar la respuesta xml? Parece que con el descanso, que debe devolver, ya sea 200 bien y el XML o códigos reales de estado adecuadas es decir, 401, etc
Cualquier punteros generales apreciados.
Derecha: realizar la autenticación de aplicación web tradicional crea un estado que no es reparador. OP querrá aprovechar HTTP auth, o algún otro esquema, que no requiera que el cliente retenga las cookies, etc. – timdev
500 no se debe utilizar para la mayoría de los errores del lado del cliente. Es decir. si el error es detectable, debería haber alguna manera de informar al cliente al respecto. –
@georgemarian es perfectamente razonable devolver un objeto de error XML, o alguna descripción maliciosa con código de estado 500. Sin embargo, es un indicador útil de que hubo algún error (por ejemplo, solicitud mal formada) en lugar de "no devolvió ningún registro" – jayshao