Zajmuję się tworzeniem zupełnie nowego interfejsu API REST przy użyciu interfejsu ASP.NET Web API. Pochodzę z tła WCF, czuję się zachęcony do tworzenia "umów o błędach" dla mojego API.Powracanie błędów w interfejsie API sieci Web
W tym przypadku nie mówię o nieobsługiwanych wyjątkach zwracanych do klienta. Zamiast tego koncentruję się na błędach, takich jak niewłaściwe używanie interfejsu API przez klienta - szczególnie tych, w których klient może automatycznie tworzyć te błędy i ponownie wysyłać żądania.
Większość przykładów znalazłem tylko mieć ciąg zwracane, zazwyczaj rzuca HttpResponseException, albo przynajmniej jakiejś rzeczy, aby proces budowania pouczająca błędzie ciąg bardziej zautomatyzowany: Return custom error objects in Web API
I m myśli o tworzeniu wyjątku HttpResponseException, przekazując w HttpResponseMessage, którego zawartość jest ustawiona na mój konkretny typ umowy o błędzie.
Moje API również intensywnie korzysta z automatycznego sprawdzania poprawności modelu, a te błędy sprawdzania poprawności modelu powracają jako zupełnie inna struktura.
Czy powinienem wymusić na "błędach" ten sam format, co odpowiedzi sprawdzania poprawności modelu? Jakie są tutaj najlepsze praktyki?
Na koniec moje API ujawni opcje formatowania buforów json, xml i protokołów. W rezultacie muszę się upewnić, że moja strategia jest niezależna od formatowania.
czy możesz podać więcej informacji o HttpError i najlepszy sposób na jego zwrot? Czy nadal jest standardowym sposobem zwracania błędów - niewiele mogę na ten temat znaleźć - thx. Wydaje się również nie działać z IHttpActionResult. – niico