HTTP-сервислар

Интернет ёрдамида маъулмот алмашиш йўлларидан бири бу http сервислар. 1С 8.3.5 версиясидан бошлаб, http сервис конфигуратор ичида жорий қилинган.

1С Платформада ихтиёрий веб-хизматларни яратиш имконияти мавжуд — HTTP-сервисы ва WEB-сервисы.

HTTP-сервисы REST архитектурасига асосланган. Улар мижоз қисми (клиент) дастурлашининг соддалиги, узатиладиган маълумотлар ҳажмининг кичиклиги ва ҳисоблаш юкламасининг пастлиги туфайли кенг оммалашган. Бу сервислар ресурсларга йўналтирилган (маълумот олишга қаратилган) бўлиб, кирувчи ва чиқувчи маълумотлар турларини текшириш механизмига эга эмас. Хабар алмашиш учун кўпинча JSON формати қўлланилади.

WEB-сервисы эса SOAP протоколи орқали ишлайди. Ушбу протокол асосан XML форматидаги ихтиёрий хабарлар билан алмашиш ҳамда процедураларни чақириш учун хизмат қилади. Унда кирувчи ва чиқувчи маълумотлар ҳамда уларнинг турларини текшириш имконияти мавжуд. HTTP-сервислардан фарқли равишда, WEB-сервисы сервисларга йўналтирилган технология бўлиб, таърифланган процедураларни масофадан чақириш имконини беради.

Ушбу мақолада биз HTTP-сервисини кўриб чиқамиз. Бунинг учун 1С платформасида HTTP-сервис конфигурация объекти мавжуд.

HTTP-сервисларда сервисга мурожаат қилиш орқали олиниши мумкин бўлган ҳар қандай маълумот ресурслар деб аталади. Ресурсларнинг ўзига хос идентификатори — URL мавжуд бўлиб, унга мурожаат қилиш маълум бир амалнинг бажарилишига олиб келади. Бу мурожаатлар сўровлар орқали амалга оширилади ва HTTP протоколида улар методлар деб аталади.

HTTP-сервисга мурожаат қилиш учун URL шакллантирилади. Унинг умумий кўриниши қуйидагича:

http://<СерверМанзили>/<ПубликацияНоми>/hs/<КорневойURL>/<ОтносительныйURL>
Энди унинг таркибини батафсил кўриб чиқамиз.

<СерверМанзили> — база жойлашган сервернинг манзили. (fincloud1234.uz)

<ПубликацияНоми> — веб-серверда публикация қилинганда кўрсатилган 1с база ном.

hs — HTTP-сервисга мурожаат қилинаётганини билдирувчи белги.

<КорневойURL> — умумий маъно билан боғланган ресурслар гуруҳини белгиловчи ресурс номи. У HTTP-сервис объектининг КорневойURL хусусиятини белгиловчи фойда берилади.

ОтносительныйURL = параметр деб айтолмаймиз. У URL нинг КорневойURL дан кейинги қисми. Унинг ичида параметр ҳам бўлиши мумкин, ресурс номи ҳам бўлиши мумкин.

Шаблонда сегментлар — яъни «/» белгиси билан ажратилган URL қисмлари кўрсатилади.

Сегментлар икки турга бўлинади:

  • Параметрсиз сегментлар — улар URL да айнан ёзилган кўринишда қатнашиши керак (масалан, product сегменти).
  • Параметрли сегментлар — фигур қавслар { ва } ичида кўрсатилади (масалан, {Код} сегменти). Бундай сегментлар маълум бир номга эга бўлган ўзгарувчини ифодалайди ва унга ўрнатилган тил орқали мурожаат қилиш мумкин.

Бир шаблон доирасида параметрли сегментлар номлари такрорланмаслиги керак.

Параметрли сегмент номи фақат қуйидаги белгилардан ташкил топиши мумкин:

  • ҳарфлар;
  • рақамлар;
  • _ белгиси.

* белгиси фақат шаблоннинг охирида жойлашиши мумкин. Унинг ўрнида ихтиёрий миқдордаги сегментлар бўлиши мумкин, жумладан умуман сегмент бўлмаслиги ҳам мумкин.

Масалан:

/report/{Код}
/report/{Код}/*
Шаблонлар учун ушбу шаблонга мос келувчи ресурс билан ишлашда қайси HTTP-методлардан фойдаланиш мумкинлигини белгилаш керак.

Бунинг учун Шаблон URL объектига бўйсунувчи керакли миқдордаги Метод объектлари яратилади.

Ушбу методларни хизмат кўрсатиладиган HTTP-метод номи билан инглиз тилида номлаш тавсия этилади, масалан:

  • GET
  • POST
  • PUT
  • DELETE
  • PATCH

Методлар учун келиб тушган HTTP-сўровни қайта ишлайдиган обработчик (қайта ишлаш функцияси) яратилиши керак.

Обработчик — бу функция бўлиб, у параметр сифатида сўровнинг ўзини қабул қилади. Сўров HTTPСервисЗапрос туридаги объект кўринишида узатилади.

Функция натижа сифатида жавобни қайтаради. Жавоб эса HTTPСервисОтвет туридаги объект билан ифодаланади.

Бош сахифа
Қидирув
Инфо
Меню