Решения для глобальной обработки ошибок / исключений для React ⚛ - PullRequest
0 голосов
/ 07 мая 2020

??

Я поднимаю проблему, которая возникла при работе с React frontend / .Net Core серверным решением, для которого я думаю о решениях:

? Проблема ◾ На самом деле, когда в бэкэнд-вызове возникает ошибка, она просто игнорируется (вызывающей стороне возвращается null ): ? Пример удаления UserSegment ? Пример повторяющегося ContentCodeId

? Предлагаемое решение ◾ Добавьте общие «уведомления в правом верхнем углу» , обрабатываемые непосредственно из AuthorizedRequest. js (помощник, используемый для выполнения внутренних вызовов), чтобы не было необходимости обрабатывать «исключения углового случая» вручную и повторно на всех страницах: ? Пример уведомлений ? Пример сайта

? Предложение по реализации ( подлежит пересмотру ) ◾ На стороне сервера преобразуйте конечные точки в возвращаемые ActionResult<[Returned type]> (многие из них уже возвращают этот тип), затем обработайте исключения и заключите их в некоторый производный объект StatusCodeResult (например, UnprocessableEntityResult, с кодом возврата 422 ) заменяя сообщение об исключении на что-то большее «удобный для пользователя» . ◾ На стороне клиента обработайте результат ошибки в AuthorizedRequest.js и создайте уведомления (возможно, используя ReactContext или какой-либо другой подход), централизовав обработку «Предполагаемое исключение» . ◾ Компонент должен находиться в App.js или другом глобальном месте, но идея состоит в том, чтобы запускать уведомления непосредственно изнутри AuthorizedRequest.js, и, если возможно, не нужно добавлять еще один параметр или что-то, что требует изменения кода повсюду.

? Я еще не рассматривал подробно, как это можно реализовать, но, возможно, кто-то из вас уже мог сделать что-то подобное или иметь какие-то идеи ?

...