Здравейте! Като доставчик на приложни програмни интерфейси (API) имам доста голям опит в създаването на REST API. В този блог ще ви преведа през процеса на създаване на REST API, споделяйки някои съвети и трикове по пътя.
Какво е REST API?
Преди да се потопим в създаването на REST API, нека набързо да разгледаме какво представлява той. REST, което означава Representational State Transfer, е архитектурен стил за изграждане на уеб услуги. REST API е API, който следва архитектурните ограничения на REST. Той използва стандартни HTTP методи като GET, POST, PUT и DELETE за извършване на операции с ресурси.
Стъпка 1: Дефинирайте своите крайни точки на API
Първата стъпка в създаването на REST API е да дефинирате вашите крайни точки на API. Крайните точки са URL адресите, които клиентите използват за взаимодействие с вашия API. Всяка крайна точка съответства на конкретен ресурс или колекция от ресурси.
Например, ако създавате API за библиотека, може да имате крайни точки като:
/книги: Тази крайна точка може да се използва за получаване на списък с всички книги в библиотеката (чрез GET заявка) или за добавяне на нова книга (чрез POST заявка)./книги/{id}: Тази крайна точка може да се използва за получаване на конкретна книга по нейния ID (чрез GET заявка), актуализиране на книга (чрез PUT заявка) или изтриване на книга (чрез DELETE заявка).
Когато дефинирате вашите крайни точки, е важно да използвате смислени и описателни имена. Това улеснява клиентите да разберат какво прави всяка крайна точка.
Стъпка 2: Проектирайте вашите API отговори
След като дефинирате вашите крайни точки, следващата стъпка е да проектирате вашите API отговори. Отговорите на API са данните, които вашият API връща на клиентите, когато направят заявка.
Форматът на вашите API отговори е важен. Повечето REST API използват JSON (JavaScript Object Notation), за да форматират отговорите си, защото е лек, лесен за четене и широко поддържан.
Например, ако клиент направи GET заявка към/книгикрайна точка, вашият API може да върне JSON отговор като този:
[ { "id": 1, "title": "Великият Гетсби", "author": "Ф. Скот Фицджералд", "year": 1925 }, { "id": 2, "title": "Да убиеш присмехулник", "author": "Harper Lee", "year": 1960 } ]
Когато проектирате вашите API отговори, също е важно да включите подходящи HTTP кодове за състояние. HTTP кодовете за състояние показват резултата от клиентската заявка. Например код на състояние 200 показва, че заявката е била успешна, докато код на състояние 404 показва, че исканият ресурс не е намерен.
Стъпка 3: Изберете език за програмиране и рамка
Сега, след като дефинирахте вашите крайни точки и сте проектирали своите API отговори, време е да изберете език за програмиране и рамка за внедряване на вашия API.
Има много програмни езици и рамки, които можете да използвате, за да създадете REST API. Някои популярни избори включват:
- Python с Flask или Django: Python е многофункционален език за програмиране, а Flask и Django са популярни уеб рамки, които улесняват създаването на REST API.
- Node.js с Express: Node.js е среда за изпълнение на JavaScript, а Express е минималистична рамка за уеб приложение за Node.js. Това е чудесен избор, ако вече сте запознати с JavaScript.
- Java с Spring Boot: Java е широко използван език за програмиране, а Spring Boot е рамка, която опростява разработката на Java приложения, включително REST API.
Изборът на език за програмиране и рамка зависи от вашите лични предпочитания, изискванията на вашия проект и вашия съществуващ стек от технологии.
Стъпка 4: Внедрете своя API
След като сте избрали език за програмиране и рамка, е време да внедрите своя API. Ето прост пример за това как можете да внедрите REST API с помощта на Python и Flask:
от колба import Flask, jsonify, заявка app = Flask(__name__) # Примерни книги с данни = [ { "id": 1, "title": "Великият Гетсби", "author": "F. Scott Fitzgerald", "year": 1925 }, { "id": 2, "title": "To Kill a Mockingbird", "author": "Harper Lee", "year": 1960 } ] # Вземете всички книги @app.route('/books', methods=['GET']) def get_books(): return jsonify(books) # Вземете конкретна книга @app.route('/books/<int:book_id>', methods=['GET']) def get_book(book_id): за книга в книги: ако книга['id'] == book_id: return jsonify(book) return jsonify({"message": "Book not found"}), 404 # Добавяне на нова книга @app.route('/books', methods=['POST']) def add_book(): new_book = request.get_json() books.append(new_book) return jsonify(new_book), 201 if __name__ == '__main__': app.run(debug=True)
В този пример създадохме прост REST API с три крайни точки:/книги(GET и POST) и/books/<int:book_id>(ПОЛУЧИ). API използва JSON, за да форматира отговорите си и връща подходящи HTTP кодове за състояние.
Стъпка 5: Тествайте своя API
След внедряването на вашия API е важно да го тествате, за да сте сигурни, че работи според очакванията. Можете да използвате инструменти като Postman или cURL, за да тествате вашия API.
Postman е популярен инструмент за тестване на API. Той предоставя графичен потребителски интерфейс, който улеснява изпращането на заявки към вашия API и преглед на отговорите.
cURL е инструмент за команден ред, който може да се използва и за тестване на API. Той е малко по-технически от Postman, но е много мощен и може да се използва в скриптове и автоматизация.


Когато тествате вашия API, не забравяйте да тествате всичките си крайни точки и всички възможни HTTP методи. Освен това тествайте крайни случаи и обработка на грешки, за да сте сигурни, че вашият API се държи правилно във всички ситуации.
Стъпка 6: Защитете своя API
Сигурността е важен аспект на всеки API. Има няколко начина да защитите вашия REST API, включително:
- Удостоверяване: Изисквайте клиентите да предоставят идентификационни данни (като API ключ или потребителско име и парола) за достъп до вашия API.
- Упълномощаване: Определете какви действия е разрешено да извършва клиент въз основа на своите идентификационни данни.
- HTTPS: Използвайте HTTPS за криптиране на данните, предавани между клиентите и вашия API. Това помага за защита срещу атаки тип човек по средата.
Има много библиотеки и рамки, които могат да ви помогнат да внедрите удостоверяване и оторизация във вашия API. Например в Python с Flask можете да използвате Flask-HTTPAuth за прилагане на основно удостоверяване.
Стъпка 7: Документирайте своя API
И накрая, важно е да документирате своя API. Документацията помага на клиентите да разберат как да използват вашия API и какви крайни точки са налични.
Можете да използвате инструменти като Swagger или OpenAPI, за да генерирате API документация. Тези инструменти ви позволяват да дефинирате своите крайни точки на API, формати на заявки и отговори и други подробности по стандартизиран начин. След това документацията може да бъде генерирана автоматично и представена в удобен за потребителя формат.
Някои полезни API, които предлагаме
Като доставчик на API, ние предлагаме разнообразие от API за различни цели. Например имаме API заВортиоксетин хидробромид,Бромфенак натрий, иКарбетоцин Cisen. Тези API могат да се използват за достъп до данни, свързани с тези вещества, като например техните химични свойства, информация за употреба и др.
Свържете се с нас за поръчки
Ако се интересувате от използването на нашите API или имате някакви въпроси относно създаването на REST API, ще се радваме да чуем от вас. Независимо дали сте малък стартъп или голямо предприятие, ние можем да ви предоставим API решенията, от които се нуждаете. Свържете се с нас, за да започнем дискусия за обществена поръчка и вижте как можем да ви помогнем да постигнете целите си.
Референции
- Ричардсън, Леонард и Сам Руби. RESTful уеб услуги. O'Reilly Media, 2007 г.
- Филдинг, Рой Томас. „Архитектурни стилове и дизайн на мрежови софтуерни архитектури.“ Докторска дисертация, Калифорнийски университет, Ървайн, 2000 г.




