XML-RPC do jiz bezici aplikace
- skrivy
- Člen | 51
Ahoj,
resim ted docela zajimavy problem. Mam napsanou aplikaci v Nette (jedna se o administraci, takze krom login page probiha vsude kontrola uzivatele).
Otazkou je, jak do aktualniho stavu dodelat xml-rpc, popr. soap.
V idealnim pripade bych akorat pro urcitou subdomenu zmenil sablonovaci system na nejaky xml generator (treba postavenem na SimpleXml). Problem je ale v tom, jak jsem si protokol navrhl.
Dejme tomu, ze administrace umi pridat/odebrat/vylistovat produkty. To same chci i od api. Navrhl jsem si tedy protokol tak, aby na uzivatelske strane byl velice jednoduse citelny:
Ukazka chybove odpovedi
<response>
<status>false</status>
<data>
<error id=„500“>Spatne napsany nazev produktu.</error>
<error id=„501“>Spatne napsany popis produktu.</error>
</data>
</response>
Ukazka OK odpovedi:
<response>
<status>true</status>
<data>
<item id=„100“ name=„produkt1“>Tady je nejaky popis
produktu1.</item>
<item id=„101“ name=„produkt2“>Tady je nejaky popis
produktu2.</item>
</data>
</response>
- Zasilani requestu si predstavuji POSTem – cili na server se posle na url: api.mojedomena.tld/produkty/add
- adminLogin, adminPassword, data = array(produktName, produktDescription);
principielne jde o to, ze tam budou povinne polozky (adminLogin a adminPassword) a pak polozky, ktere se budou predavat do jednotlivych presenteru/modelu.
Problem je v tom, ze pri kazdym requestu musim uzivatele authorizovat (reseni session mi prijde zbytecna komplikace).
Atd. Atd … je toho hodne a absolutne netusim, jak na to a kde zacit.
Jak podobne situace resite vy? Pouzivate pro api i vlastni web jedny presentery a menite akorat view nebo mate presentery 2 (pro api a pro web – tomuhle bych se chtel vyhnout)?
- skrivy
- Člen | 51
Oki, fajn, tak uz se mi povedlo udelat autorizaci na zaklade POST udaju do presenteru, otazkou je jak dal.
Z toho tveho presenteru volas rovnou moduly nebo includujes dalsi presentery a pak z nich ctes nejak odpovedi?
Jsem z toho trochu zmatenej, protoze se tady dela overovani vlozenych udaju na 2 urovni a protoze se mi aplikace ma chovat v obouch pripadech stejne, tak presne nevim, co kam presunout, atd.
- bazo
- Člen | 620
mam PublishPresenter, ktory implementuje rozhrania Worpdress api, blogger api, metaweblog api, pre spolupracu s windows live writer. na kazdy methodCall mam namapovanu funkciu v PublishPresenteri, lebo sa jedna iba o pracu s modelmi. K parsovaniu requestov a skladania odpovedi pouzivam xml-rpc server z wordpressu.