RESTful API - от къде да започнa ?

+5 гласа
271 прегледа
попитан 2016 юни 23 в PHP от Deyan Delev (1,810 точки)
Здравейте,

Въпроса ми е следния:
Да речем, че в един момент от живота си реша, че искам да създам свое собствено API. От къде трябва да започна? Какви знания трябват и на какво ниво? Търсих инфо из мрежата, но някак си не успях да проумея кво/как/защо .... Гледах изискванията на едни видео уроци по Restful API, споменаваше се "добри познания по JAVA", другаде споменават .NET и т.н.. Зная, че с PHP също може да се създават АPI, понеже Symfony имат такава дистрибуция. Попаднах и на една много интересна книга за Api, но вече до страница 20 автора говори колко много обичал своето семейство и т.н.
Абе като цяло ми е тъмна Индия, а искам да започна от някъде. Ако може да споделите малко how to ;)

1 отговор

+2 гласа
отговорени 2016 юни 24 от Павката (2,150 точки)
редактиран 2016 юни 24 от Павката
Привет,

  Първо ще се опитам да подредя малко въпросите ти в такъв ред, който да ти бъде полезен при изчитане на отговорите. Ще добавя някои въпроси от мое име за да има по-голяма последователност и да няма термини, които първо биват използвани, а едва след това обяснени.

1. Какво е API и как се използва?

  Накратко това е отворена врата(интерфейс) към вече готова написана функционалност.

2. Как се създава 'свое собствено API'?

  Елементарно. Когато от един модул извикваме функционалност - дефинирана в друг модул обикновено го правим чрез извикване на някакъв вид API функция (това е независимо от езика). Т.е. в един модул някой е написал функционалност (този някой може да съм аз днес, аз преди година, Microsoft или колегата на съседното бюро), предоставил е възможност тази функционалност да бъде извикана (интерфейс или API с код, библиотека или услуга (service) ) и аз мога да я използвам. Т.е. ако напишеш един клас, тип, променлива, константа или функция в един модул и някой (дори ти) би могъл да ги използва (що годе легално) в друг модул - то вече си написал собствено API. Пример тук:
https://www.youtube.com/watch?v=kwZlE7chLZ0

3. Как може да бъде съставено Restful API?

  Тук вече нещата стават малко по-сериозни. Тук може да се намери нещо добро като за начало:

http://blog.ijasoneverett.com/2013/02/rest-api-a-simple-php-tutorial/

но след това е добре да се определи какъв проблем да решава предоставената функционалност.

4. Какви знания трябват и на какво ниво?

  Зависи от сложността на функционалността, която желаете да предоставите. Ако следвате някои от линковете по-горе стъпка по стъпка ще създадете такова API, но едва ли предложената функционалност ще намери много почитатели, т.е. няма да имате много клиенти. Добре е също да се знае какви ще бъдат клиентите ви и на какъв език да пишете, за да могат те да го ползват.

  Ако желаете да предложите цялостно решение за някакъв проблем и да предоставите на бъдещите си клиенти интерфейс за ползването на предоставената функционалност е добре да помислите за дефиниране на проблема, документация, дизайн, сковаване на прототип и примери за ползване и едва след това да обявите въпросното API (с уговорката, че само по себе си API-то е просто врата към функционалността - клиента няма да се интересува от вратата, а от самата функционалност) .

  Надявам се да съм бил полезен.
коментиран 2016 юни 24 от Deyan Delev (1,810 точки)
Много благодаря за изчерпателния и разбираем отговор ;))))

Ако не е проблем може ли некви координати на лс,  да те питам неща по тоя въпрос (не съм от нахалниците) ;))))

Ще изгледам материалите , чел ли си "Build APIs You Won't Hate", добра ли е ?
коментиран 2016 юни 24 от Павката (2,150 точки)
Не съм я чел за съжаление. Нищо не мога да кажа.
...