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

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

Не обязательные данные, которые мы хотим получать через сервис, в шаблоне НЕ описываются. При построении ссылки, для обращения к сервису они описываются в конце ссылки после знака "?", разделяются символом амперсанда "&" и имеют структуру <имя параметра>=<значение параметра>. В тексте модуля обработчика к ним можно обратиться конструкцией: Запрос.ПараметрыЗапроса.Получить("<имя параметра>"). НО: важно помнить, раз они не обязательны, то их может и не быть, соответственно значение проверяем на Неопределено.
3 Lexey_
 
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. В модуле сервиса эту строку разбирайте и работайте дальше с переданными параметрами. А необязательные параметры просто не передавайте.
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс