Cada endpoint de este libro se construyó respondiendo a las mismas preguntas. Aquí están en el orden en que te las encuentras.
Forma
- ¿Es una acción de recurso (
index,store,show,update,destroy) sobre un sustantivo en plural? Si no, ¿hay una buena razón? - ¿El método del controlador solo recibe una petición y devuelve una respuesta?
- ¿Es verdadero el código de estado? 201 para lo creado, 202 para lo aceptado y encolado, 204 para lo hecho sin nada que devolver.
Entrada
- ¿Se valida cada campo en un FormRequest, incluidos los parámetros de consulta?
- ¿Tiene un límite superior cada cadena, cada array y cada número?
- ¿Se le pasa al modelo
validated(), nuncaall()?
Salida
- ¿Pasa la respuesta por un Resource, con
datacomo sobre? - ¿Todo campo del Resource está pensado para salir?
- ¿Puede el Resource ejecutar una consulta? No debería poder.
Autorización
- ¿Qué habilidad necesita el token, y está declarada en el controlador?
- Si el endpoint recibe un ID, ¿qué registros puede tocar este llamante, y dónde está esa regla?
- ¿Hay un test en el que pregunta quien no debe?
Fallo
- ¿Qué ve el consumidor cuando el proveedor está caído?
- Si un consumidor reintenta esta petición, ¿qué pasa la segunda vez?
- ¿Sobrevive a ejecutarse dos veces todo lo que encola?
Operación
- ¿Pagina el listado, con un tamaño de página acotado?
- ¿Está cubierta por un índice cualquier consulta nueva?
- ¿Se registra el trabajo con el ID de traza, y sin secretos?
- ¿Aparece en la documentación generada, con una frase que diga para qué sirve?
- ¿Hay una entrada en el registro de cambios?
Un endpoint que responde a todo esto está terminado. Uno que no puede responder es un prototipo, por bien que quede en una demo.