![]() |
XML-RPC eller RESTful för API?
Jag ska göra ett API som det kommer vara ganska många som ska kunna komma åt i framtiden så det bör vara en lösning som går att skala hyfsat bra.
Vi API:et kommer man både kunna hämta och ladda upp/spara data. Hur ration kommer vara är väl lite osäkert, men jag uppskattar att det kommer vara ungefär 50% gets och 50% puts/posts. Det kommer vara en lösning med autentisering med api keys som det brukar vara med stängda API:er. Det måste vara enkelt att implementera detta på klienterna som ska kommunicera med API:et. Detta ska implementeras i CodeIgniter om det har någon betydelse för valet. Implementationer finns som librarys till CodeIgniter: REST: https://github.com/philsturgeon/codeigniter-restserver http://net.tutsplus.com/tutorials/ph...codeigniter-2/ XML-RPC: http://codeigniter.com/user_guide/libraries/xmlrpc.html Fördelar/nackdelar med de båda? Vad föredrar ni? |
SOAP har större utsträckning när det gäller APIer, dels för att stödet finns med i dom flesta plattformarna och man slipper tänka på externa bibliotek för kommunikationen.
|
Citat:
Inte lätt att hitta rätt i detta. Skulle vara kul att höra mer om soap och eventuella fördelar och nackdelar. Finns även denna tråd: Bygga eget API, tips? |
Citat:
|
Varken Google, Facebook eller Twitter kör väl SOAP?
Jag gillar RESTful |
Citat:
SOAP är väl det jag har bäst kunskap om(har läst en 15p kurs i SOA med SOAP), men jag valde bort det för att är lite väl komplext för att göra ett API. Men du har bra poäng med att det finns inbyggt stöd för SOAP i de allra flesta språk, det är en stor fördel. PHP har ju exempelvis SoapClient som gör att man kan göra SOAP-anrop med bara två rader: PHP-kod:
XML-RPC bör man väl använda någon extern klass eller bibliotek för att använda APIet. En av de viktigaste sakerna är som sagt att det är något är enkelt att implementera och som det finns en del kunskap om bland utvecklare. Citat:
Den tråden har jag kollat på och det var en hel del bra tips, men inte så mycket om vilken teknik man ska använda sig och framför allt inga för- eller nackdelar med de olika. Det är främst det jag är ute efter här även om generellt tips om vad man ska tänka på när man bygger ett API är mycket välkomna. En sak till som jag funderat på är autentiseringen. Är det en bra idé att använda OAuth för detta? Vad rekommenderar ni för att göra det både säkert och enkelt att implementera? |
Jag kan ju bara säga att jag använder några API:er som jag betalar för och där är det REST för hela pengen samt att man autentiserar med en unik hash och ip-nummer., eller bara med unik hash.
|
Citat:
Är det tillräckligt säkert om man använder digest authentication? Jag kommer ha en del känslig kunddata i API:et så säkerheten är viktig. |
Jag röstar för JSON REST
|
Citat:
Tvärtom finns det säkert fullt med exempel på. Kolla gärna om Android, iOS, Symbian osv är bra på SOAP och inte drar alltför mkt kraft. |
Citat:
Dem webservices jag har byggt så använder jag oftast Drupal services då finns möjligheten att köra olika resultattyper. ( RESTful,XML, XML-RPC,CSV). Vill du använda API-nycklar finns även detta inbyggt i drupal servces. |
Det blir nog REST då. Det var det jag lutade åt, men jag ville bara ha lite åsikter från andra så att man inte gör ett dumt val. Det är ju svårt att dra tillbaka ett API som är publikt när det väl är lanserat och jobbigt att ha flera olika API:er som ska underhållas och uppdateras.
Svaret kommer man kunna få i aningen XML, JSON eller CSV. Tack så mycket för svaren! |
Bra beslut. I princip alla större tjänster använder RESTful/REST-liknande APIer nu för tiden. Det skalar (ingen state ger stora fördelar både för cachning och nodoberoende), det krävs inget bibliotek för enkla request (kan ofta vara guld värda ett år senare då det kanske används i helt andra miljöer), du gör dig inte (nödvändigtvis) beroende av input- eller output-format osv.
Ska du ha något default-format är nästan alltid JSON att föredra i min mening. Filstorlek och prestandamässigt mycket bättre encode/decode i många språk (Objective C, Java/android, Javascript, PHP etc) Tänk på att CSV är ett väldigt begränsat format om du utökar APIets funktioner senare. Men är det tabulär data som ska exporteras eller importeras kan det likväl vara VÄLDIGT nyttigt för Excel-typerna. |
Tack för ett svar.
Jag tänkte faktiskt ha JSON som default. XML är ju betydligt jobbigare och bökigare + att det är massa onödig markup. JSON kan man ju konvertera till en array med en kodrad i de flesta språk och blir då väldigt smidig att jobba med. CSV kommer nog vara användbart för vissa i vissa funktioner i API:et. Det fanns inbyggt stöd för detta redan i det REST Server-biblioteket jag hittade så det blir inte spciellt mycket extrajobb för att erbjuda det. |
Citat:
kikat på det? :) |
Citat:
Jag kommer köra på ett system med CodeIgniter RestServer av Phil Sturgeon i grunden. https://github.com/philsturgeon/codeigniter-restserver |
Alla tider är GMT +2. Klockan är nu 00:37. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson