Українська
Типові помилки
Типові помилки
У табл. 10.4 наведено помилки, яких найчастіше припускаються під час створення та використання вебсервісів.
Таблиця 10.4. Типові помилки під час роботи з вебсервісами
| Проблема | Причина | Виправлення |
|---|---|---|
неіснуючий ресурс повертає 500 або 200 з null | обробник не перевіряє результат пошуку | Results<Ok<T>, NotFound> і TypedResults.NotFound() |
| некоректний JSON у Development дає 500 | BadHttpRequestException перехоплює обробник винятків | StatusCodeSelector повертає bad.StatusCode |
| валідація не спрацьовує | немає AddValidation() або атрибути стоять на сутності, а не на параметрі чи DTO | зареєструвати валідацію, позначити DTO |
клієнт отримує Title замість title або числа замість назв | різні налаштування JSON на сервері й клієнті | JsonSerializerOptions.Web і однаковий JsonStringEnumConverter |
InvalidOperationException про паралельне використання DbContext | контекст або сховище зареєстровано як Singleton | AddDbContext (Scoped) і AddScoped для сховища |
| вичерпання сокетів під навантаженням | new HttpClient() на кожен запит | IHttpClientFactory, типізований клієнт |
| застосунок «зависає» під час запиту | .Result або .Wait() замість await | асинхронні методи з await до кінця ланцюжка |