Почему службы данных ADO.NET используют $ в качестве идентификатора параметра запроса?

StackOverflow https://stackoverflow.com/questions/1026237

  •  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-заголовках (если это возможно).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top