Ho un'applicazione che invia messaggi agli utenti. In una richiesta di post viene trasferita una stringa XML composta da tutti gli utenti che dovrebbero ricevere quel particolare messaggio. Se uno qualsiasi degli utenti nell'elenco non esiste, restituisco l'elenco degli utenti mancanti al cliente per un'ulteriore valutazione.
Ora mi chiedo quale sarebbe il codice di stato corretto per l'applicazione dicendo che la richiesta è stata accettata ma c'erano cose che non potevano essere fatte.
Il problema verrebbe evitato se non fosse consentito includere gli utenti mancanti nell'elenco. Quindi il tentativo di invio otterrebbe solo un errore 4xx. Ma non ha senso formare l'API in questo modo. D'altra parte potrei considerare la condizione di errore puramente specifica dell'applicazione. Ma inviare un 200 semplicemente non sembra giusto. E sarebbe bello dare al cliente un suggerimento quando guardare in profondità nella risposta all'errore. ad esempio, per evitare di inviare messaggi a quegli utenti più e più volte