Hola, recién leo este thread, unas ideas si me permiten:
- Moises mencionó que http 204 puede ser usado para indicar q no hay data, de hecho 204 es usado para enviar metadata ( aunque claro su nombre no indica lo que hace #blameHTTP ) indicando que la operación del request se hizo y no necesita devolver un body, más info:
https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
- También indican que pueden optar por devolver {}, si bien esto puede tener sentido, yo recomendaría que devuelvan tan solo null ya que es un valor entendido por el parser de JSON: JSON.parse( null ) === null. Esto ayuda en la evaluación de la intención de lo enviado, es decir null es falsy mientras que {} es truthy y si hacen algo como if ( theResponse ) { //... } y theResponse es {} va a entrar en la condición
- Con respecto a los estándares a nivel de Application que indicó Jan, entiendo la necesidad de su existencia, pero sí me parece raro que para indicar todas las operaciones se usen respuestas 200, HTTP ya trató de solucionar estos problemas y sí, se puede argumentar que no lo ha logrado solucionar completamente; pero por el otro lado me parece innecesario agregar más complejidad para solucionar algo que ya es complejo de por sí.
Espero no sonar discordante, dado que estoy respondiendo tan tarde. Pienso que mientras uno encuentre lo que le funciona puede estar tranquilo. Podemos seguir la conversación en el slack:
http://v.ht/limajs
saludos.