. NET (базовая) стандартная библиотека для представления пользовательских запросов из внешнего интерфейса - PullRequest
1 голос
/ 11 января 2020

Итак, я, возможно, в четвертый или пятый раз пишу базовый бэкэнд. net обработчика динамического c запроса.

По сути, API, который принимает запрос из внешнего интерфейса (приложение REACT, но это не моя задача) и преобразует его в запрос SQL (с использованием EF Core). Мне интересно, есть ли реальный «стандартный» способ / библиотека для реализации этого. Это ТАКОЕ распространенное требование, я действительно хочу не изобретать колесо еще раз.

Требования довольно стандартные: список полей результатов, список сортировки, список фильтров. Все это интерпретируется и преобразуется в запрос базы данных, а результаты возвращаются вызывающей стороне. Также есть требование по желанию сохранить набор запросов / полей, но это не большое дополнение.

Я ничего не нашел после нескольких часов поиска, но я чувствую, что что-то должно быть. Я думаю, что JSON представление запроса приходит, анализируется и интерпретируется. Я чувствую, что должна быть какая-то библиотека, которая делает это?

Да, я могу написать это, но на данный момент это кажется неправильным.

1 Ответ

0 голосов
/ 11 января 2020

Он существует, но вам всегда нужно будет договориться с разработчиком внешнего интерфейса о том, как форматируются запросы и ответы.

Например, вы оба можете согласиться использовать {JSON : API} технические характеристики. Тогда на задней стороне вы сможете использовать библиотеку, такую ​​как JsonApiDotNetCore :

Конечная цель этой библиотеки - устранить как можно больше шаблонов, предлагая нестандартные функции, такие как сортировка, фильтрация и разбиение на страницы. Вам просто нужно сосредоточиться на определении ресурсов и реализации вашей собственной бизнес-логики c.

Отказ от ответственности: я не использовал эту библиотеку. Я просто объясняю вам, как добиться того, чего вы хотите. Основная информация в моем ответе - согласие с хорошо известным форматом / спецификацией для API, чтобы оба разработчика нашли реализацию для frond и back-end.

...