Sobes.tech
Middle

Hogyan biztosították az API-válaszok típusát? Használtak OpenAPI/Swagger-t vagy kódgenerálást?

sobes.tech MI

Válasz az MI-től

Az API-válaszok típusosságának biztosítása érdekében gyakran használnak OpenAPI (Swagger) specifikációkat, amelyek leírják a kérések és válaszok szerkezetét. Ezek alapján generálhatók típusok a frontendhez olyan eszközökkel, mint az openapi-generator vagy a swagger-codegen.

TypeScriptben népszerű az openapi-typescript könyvtár, amely az OpenAPI specifikációból generál típusokat. Ez lehetővé teszi az API-tól kapott adatok szigorú típusosítását, és elkerüli a hibákat a válaszok kezelésénél.

Az openapi-typescript használatának példája:

openapi-typescript api.yaml --output api-types.ts

A kódban:

import { paths } from './api-types';

típus UserResponse = paths['/users/{id}']['get']['responses']['200']['content']['application/json'];

function fetchUser(id: string): Promise<UserResponse> {
  return fetch(`/users/${id}`).then(res => res.json());
}

Így a típusok automatikusan megfelelnek az API-specifikációnak, növelve a fejlesztés megbízhatóságát és kényelmét.

Ha nem használják az OpenAPI-t, akkor manuálisan is leírhatók a típusok, vagy kódgenerálás történhet GraphQL sémákból, ha az API GraphQL alapú.