Вход | Регистрация

1С:Предприятие ::

Метки: 

Как сделать шаблон для GET с несколькими необязательными параметрами?

Я
   golem14
 
23.08.18 - 08:23
Как сделать шаблон для GET с несколькими необязательными параметрами?
Так не работает: /GetAddress/?{Street}/?{house}/?{flat}
 
 
   Кирпич
 
1 - 23.08.18 - 09:06
это чо? regexp?
   golem14
 
2 - 23.08.18 - 10:54
(1) это HTTP-сервисы. Решение такое:

Обязательные данные/параметры запихиваем в шаблон, тем самым если тот, кто обращается к сервису, их не заполнил, то сервис априори выдаст ошибку, а вы при разработке текста модуля обработчика будете уверены, что эти данные есть. Как это делается: в строке Шаблон в фигурных скобках "{}", чередуя с со знаком "/", пишем имена переменных. Например, нам обязательно нужен артикул - тогда пишем /{artikul}. Если нам надо получить артикул, имя и имя пользователя, строка шаблона будет выглядеть так: /{artikul}/{name}/{user} и т.д. Каждый из таких параметров в тексте модуля обработчика можно будет получить так: Запрос.ПараметрыURL["<имя параметра>"]. Если обязательных нет, то шаблон выглядит так: /*.

Не обязательные данные, которые мы хотим получать через сервис, в шаблоне НЕ описываются. При построении ссылки, для обращения к сервису они описываются в конце ссылки после знака "?", разделяются символом амперсанда "&" и имеют структуру <имя параметра>=<значение параметра>. В тексте модуля обработчика к ним можно обратиться конструкцией: Запрос.ПараметрыЗапроса.Получить("<имя параметра>"). НО: важно помнить, раз они не обязательны, то их может и не быть, соответственно значение проверяем на Неопределено.
   Lexey_
 
3 - 23.08.18 - 10:58
(2) "Как сделать шаблон для GET с несколькими необязательными параметрами?"

"Не обязательные данные, которые мы хотим получать через сервис, в шаблоне НЕ описываются."
   Кирпич
 
4 - 23.08.18 - 10:59
Муть какая то. Ну не нужны параметры, не отправляй. Пускай сервис разбирается, что ему нужно, что не нужно, что отправили, что не отправили.
   Юрий Лазаренко
 
5 - 23.08.18 - 11:22
Просто передавайте сервису параметру одной строкой ?param1=value1&param2=value2&param3=value3. В модуле сервиса эту строку разбирайте и работайте дальше с переданными параметрами. А необязательные параметры просто не передавайте.


Список тем форума
Рекламное место пустует Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует