Cum de a scrie api

Full-stivă dezvoltator (Symfony, unghiular)

Articolele cărora le lipsește, se poate scrie cu siguranță, dar dacă voința vryat-ceva nou.

Metode de structură care și modul în care ar trebui să se întoarcă mai bine discuta cu dezvoltatorul iOS, care va implemenit apoi caz. Dacă un astfel nu este prezent - pauza maximă pe toate operațiunile atomice, simplifica colaborarea, cred că pentru tine ce metode ar putea fi necesare (imaginați-vă că ați scrie API nu este pentru cineva, ci, de exemplu, pentru paginile care toate vyderaet prin intermediul AJAX).

Despre punerea în aplicare - o serializare banală în loc de redare reale, diferențele nu mai. Există o mulțime de componente pre-construite, care sunt bine adaptate pentru serializarea încoace și încolo. Sale o astfel de componentă este, de asemenea, scris suficient de rapid.

Nu am văzut nici un API pentru aplicatii serioase singura pozitie tobish da, este ca REST, dar nu complet, deci nu este necesar să se deranjeze. Destul de simplu să se ocupe de unele poziții de bază și GET / cereri POST. GET pentru probe - date tobish în baza de date atunci când interogarea nu este schimbat, cu excepția faptului că ceea ce contează, și POST pentru crearea înregistrărilor în baza de date (pentru Feng Shui rezultatul funcției trebuie să returneze doar antetele HTTP, care includ o solicitare GET pentru URI-ul noului obiect, dar, în practică, nu transpirație, și se întoarce întregul obiect sau o parte din ea).

Puteți utiliza desigur apishkami SOAP, dar din experiență eu spun că este valabil numai în dezvoltarea API oochen simplu, și este de puțin folos. În cazul în care un client, desigur, este o aplicație scrisă în C # .NET - atunci nu ezitați să SOAP și numai SOAP, tu de fapt diferențele de punere în aplicare (disponibil ca din timp), cel puțin un dezvoltator client va fi mult mai ușor. Dar pe iOS cu SOAP toate destul de trist.

Pentru a da un exemplu de calitate frică, pentru că poate provoca batthort într-o ramură. )
În ceea ce pentru mine - există doar un singur criterii evidente de API excelente. Acesta poate fi formulat astfel: clientul trebuie să fie absolut sigur de ceea ce răspunde el devine de la serviciu, chiar înainte de a trimite cererea. Ie nu ar trebui să fie situații în care API-ul returnează o structură neașteptată a datelor, nu formatul sau erori ciudate.

Revenind la Facebook - nu e pereuslozhnonnosti. Aici este un exemplu de comportamentul API-ului, pe care am căzut într-o stupoare: dacă solicitați date pentru un eveniment obiect, care a fost șters de pe partea de server (a expirat, anulat, etc) - se așteaptă intuitiv ceva ca o matrice de cod JSON erori sau text a la „obiectul este eliminat (nu a fost găsit, abrogat.“ Dar Facebook va returna șirul „solicitare incorectă“, care nu este suficient ca eroarea nu adecvată, cu atât mai mult și formatul de întoarcere - .. textul despre astfel de „! fleacuri „ca date imprevizibile din cadrul proprietăților de aceleași tipuri de obiecte - nu puteți menționa nu face asta Nico. da.)

Sunt de acord complet, mulțumesc pentru răspunsul detaliat. Cred că acest lucru este o eroare triviale dezvoltatorii de FB.

Există o unitate foarte bun pentru Node.js, care poate spiona idei interesante de punere în aplicare API REST, - restify. De asemenea, am sfătui să se uite cum să pună în aplicare API-ul de la Amazon. Țineți cont de faptul că acest lucru este punerea în aplicare pentru utilizare întreprindere, și viața reală, puteți face mai mult decât soluțiile simple, cum ar fi aruncarea înapoi în mare antete http nedorite.

Programator, cea mai mare parte de web

Din câte știu eu, cel mai popular paradigma pentru crearea API este în prezent REST
Pe experiența de a crea API vskidku am găsit următoarele: 1. 2.

Conform experienței, aș spune că este cel mai important de a planifica totul în mod corespunzător. Găsiți proiectul posibil similar cu obiectivul dvs. care furnizează documentația pentru API-ul dvs. și citiți-l.