Hej tam! Jako dostawca API mam spore doświadczenie w tworzeniu interfejsów API REST. Na tym blogu przeprowadzę Cię przez proces tworzenia interfejsu API REST, dzieląc się przy tym kilkoma wskazówkami i trikami.
Co to jest API REST?
Zanim zagłębimy się w tworzenie interfejsu API REST, przyjrzyjmy się szybko, co to jest. REST, czyli Representational State Transfer, to styl architektoniczny służący do tworzenia usług internetowych. Interfejs API REST to interfejs API zgodny z ograniczeniami architektury REST. Używa standardowych metod HTTP, takich jak GET, POST, PUT i DELETE, do wykonywania operacji na zasobach.
Krok 1: Zdefiniuj punkty końcowe API
Pierwszym krokiem w tworzeniu interfejsu API REST jest zdefiniowanie punktów końcowych interfejsu API. Punkty końcowe to adresy URL używane przez klientów do interakcji z interfejsem API. Każdy punkt końcowy odpowiada konkretnemu zasobowi lub zbiorowi zasobów.
Na przykład, jeśli tworzysz interfejs API dla biblioteki, możesz mieć punkty końcowe, takie jak:
/książki: Tego punktu końcowego można użyć do uzyskania listy wszystkich książek w bibliotece (za pomocą żądania GET) lub do dodania nowej książki (za pomocą żądania POST)./książki/{id}: Tego punktu końcowego można użyć do pobrania konkretnej książki według jej identyfikatora (za pomocą żądania GET), zaktualizowania książki (za pomocą żądania PUT) lub usunięcia książki (za pomocą żądania DELETE).
Podczas definiowania punktów końcowych ważne jest użycie znaczących i opisowych nazw. Ułatwia to klientom zrozumienie, co robi każdy punkt końcowy.
Krok 2: Zaprojektuj odpowiedzi API
Po zdefiniowaniu punktów końcowych następnym krokiem jest zaprojektowanie odpowiedzi API. Odpowiedzi API to dane, które Twój interfejs API zwraca klientom, gdy wysyłają żądanie.
Format odpowiedzi API jest ważny. Większość interfejsów API REST używa formatu JSON (notacji obiektów JavaScript) do formatowania swoich odpowiedzi, ponieważ jest lekki, łatwy do odczytania i szeroko obsługiwany.
Na przykład, jeśli klient wysyła żądanie GET do/książkipunkcie końcowym, Twój interfejs API może zwrócić odpowiedź JSON w następujący sposób:
[ { "id": 1, "title": "Wielki Gatsby", "autor": "F. Scott Fitzgerald", "rok": 1925 }, { "id": 2, "title": "Zabić drozda", "autor": "Harper Lee", "rok": 1960 } ]
Projektując odpowiedzi API, ważne jest również uwzględnienie odpowiednich kodów stanu HTTP. Kody stanu HTTP wskazują wynik żądania klienta. Na przykład kod stanu 200 wskazuje, że żądanie powiodło się, natomiast kod stanu 404 oznacza, że nie odnaleziono żądanego zasobu.
Krok 3: Wybierz język i framework programowania
Teraz, gdy zdefiniowałeś punkty końcowe i zaprojektowałeś odpowiedzi API, nadszedł czas, aby wybrać język programowania i platformę do implementacji interfejsu API.
Istnieje wiele języków programowania i struktur, których można użyć do utworzenia interfejsu API REST. Niektóre popularne opcje obejmują:
- Python z Flaskiem lub Django: Python to wszechstronny język programowania, a Flask i Django to popularne frameworki internetowe, które ułatwiają tworzenie interfejsów API REST.
- Node.js z Expressem: Node.js to środowisko uruchomieniowe JavaScript, a Express to minimalistyczny framework aplikacji internetowych dla Node.js. To świetny wybór, jeśli znasz już JavaScript.
- Java ze Spring Bootem: Java to powszechnie używany język programowania, a Spring Boot to framework upraszczający tworzenie aplikacji Java, w tym interfejsów API REST.
Wybór języka programowania i frameworka zależy od Twoich osobistych preferencji, wymagań Twojego projektu i istniejącego stosu technologii.
Krok 4: Zaimplementuj swój interfejs API
Kiedy już wybierzesz język programowania i framework, czas na wdrożenie API. Oto prosty przykład implementacji interfejsu API REST przy użyciu Pythona i Flaska:
z kolby import Flask, jsonify, request app = Flask(__name__) # Przykładowe zbiory danych = [ { "id": 1, "title": "Wielki Gatsby", "author": "F. Scott Fitzgerald", "rok": 1925 }, { "id": 2, "title": "Zabić drozda", "autor": "Harper Lee", "rok": 1960 } ] # Zdobądź wszystkie książki @app.route('/books', metody=['GET']) def get_books(): return jsonify(books) # Pobierz konkretną książkę @app.route('/books/<int:book_id>', method=['GET']) def get_book(book_id): dla książki w książkach: if book['id'] == book_id: return jsonify(book) return jsonify({"message": „Nie znaleziono książki”}), 404 # Dodaj nową książkę @app.route('/books', metody=['POST']) def add_book(): new_book = request.get_json() książki.append(new_book) return jsonify(new_book), 201 if __name__ == '__main__': app.run(debug=True)
W tym przykładzie stworzyliśmy prosty interfejs API REST z trzema punktami końcowymi:/książki(POBIERZ i POST) oraz/książki/<int:id_książki>(DOSTAWAĆ). Interfejs API używa formatu JSON do formatowania swoich odpowiedzi i zwraca odpowiednie kody stanu HTTP.
Krok 5: Przetestuj swój interfejs API
Po wdrożeniu interfejsu API ważne jest jego przetestowanie, aby upewnić się, że działa zgodnie z oczekiwaniami. Aby przetestować swoje API, możesz użyć narzędzi takich jak Postman lub cURL.
Postman to popularne narzędzie do testowania API. Zapewnia graficzny interfejs użytkownika, który ułatwia wysyłanie żądań do interfejsu API i przeglądanie odpowiedzi.
cURL to narzędzie wiersza poleceń, którego można również używać do testowania interfejsów API. Jest nieco bardziej techniczny niż Postman, ale jest bardzo wydajny i można go używać w skryptach i automatyzacji.


Testując interfejs API, pamiętaj o przetestowaniu wszystkich punktów końcowych i wszystkich możliwych metod HTTP. Przetestuj także przypadki brzegowe i obsługę błędów, aby upewnić się, że interfejs API działa poprawnie we wszystkich sytuacjach.
Krok 6: Zabezpiecz swoje API
Bezpieczeństwo jest ważnym aspektem każdego interfejsu API. Istnieje kilka sposobów zabezpieczenia interfejsu API REST, w tym:
- Uwierzytelnianie: Wymagaj od klientów podania danych uwierzytelniających (takich jak klucz API lub nazwa użytkownika i hasło), aby uzyskać dostęp do interfejsu API.
- Upoważnienie: Określ, jakie działania może wykonać klient na podstawie swoich poświadczeń.
- HTTPS: Użyj protokołu HTTPS do szyfrowania danych przesyłanych między klientami a interfejsem API. Pomaga to chronić przed atakami typu man-in-the-middle.
Istnieje wiele bibliotek i struktur, które mogą pomóc we wdrażaniu uwierzytelniania i autoryzacji w interfejsie API. Na przykład w Pythonie z Flask możesz użyć Flask-HTTPAuth do zaimplementowania podstawowego uwierzytelniania.
Krok 7: Udokumentuj swój interfejs API
Na koniec ważne jest udokumentowanie interfejsu API. Dokumentacja pomaga klientom zrozumieć, jak korzystać z interfejsu API i jakie punkty końcowe są dostępne.
Do generowania dokumentacji API możesz używać narzędzi takich jak Swagger lub OpenAPI. Narzędzia te umożliwiają zdefiniowanie punktów końcowych API, formatów żądań i odpowiedzi oraz innych szczegółów w ustandaryzowany sposób. Dokumentacja może następnie zostać wygenerowana automatycznie i przedstawiona w formacie przyjaznym dla użytkownika.
Niektóre przydatne interfejsy API, które oferujemy
Jako dostawca API oferujemy różnorodne API do różnych celów. Mamy na przykład interfejsy API dlaBromowodorek wortioksetyny,Bromfenak sodu, IKarbetocyna Cisen. Za pomocą tych interfejsów API można uzyskać dostęp do danych związanych z tymi substancjami, takich jak ich właściwości chemiczne, informacje o zastosowaniu i inne.
Skontaktuj się z nami w sprawie zakupów
Jeśli jesteś zainteresowany korzystaniem z naszych interfejsów API lub masz jakiekolwiek pytania dotyczące tworzenia interfejsu API REST, chętnie się z Tobą skontaktujemy. Niezależnie od tego, czy jesteś małym start-upem, czy dużym przedsiębiorstwem, możemy zapewnić Ci rozwiązania API, których potrzebujesz. Skontaktuj się z nami, aby rozpocząć dyskusję dotyczącą zakupów i zobaczyć, jak możemy pomóc Ci osiągnąć Twoje cele.
Referencje
- Richardsona, Leonarda i Sama Ruby’ego. RESTful usługi sieciowe. O'Reilly Media, 2007.
- Fieldinga, Roya Thomasa. „Style architektoniczne i projektowanie architektur oprogramowania sieciowego”. Rozprawa doktorska, Uniwersytet Kalifornijski, Irvine, 2000.




