Почему службы данных ADO.NET используют $ в качестве идентификатора параметра запроса?
-
06-07-2019 - |
Вопрос
/Customers?$skip=30&$top=10
Есть ли причина, почему вам нужна '?' Или '&' и '$' для определения параметра запроса?
Это случай утечки реализации в интерфейс?Я не обязательно хочу раскрывать пользователям тот вопиющий факт, что я использую .NET Data Services.особенно, если позже я захочу изменить реализацию на другую технологию...
Или есть ли простой способ отключить необходимость использования символа «$» для идентификации параметра запроса?
Так выглядит гораздо презентабельнее...
/Customers?skip=30&top=10
Спасибо
Решение
Параметры строки запроса, начинающиеся с $
персонаж известен как Параметры системного запроса и обозначают действия, поддерживаемые службами данных ADO.NET.По сути, это делается для того, чтобы отличить общесистемные «ключевые слова» от имен свойств модели.
Чтобы решить эту проблему, вы можете попробовать переписать URL-адреса с /Customers?skip=30&top=10
к /Customers?$skip=30&$top=10
или даже передать эту системную информацию в HTTP-заголовках (если это возможно).