Forum Discussion

JavaJamie's avatar
JavaJamie
Frequent Visitor
5 years ago

Swagger-client - Recommended usage/creation of SwaggerClient

Hi all.

 

I'm completely new to using Swagger, and I'm trying to refactor our React project to use our Swagger schema-generated Spring Boot API. I want to create the SwaggerClient once inside a file (so I don't need to repeat the creation of the SwaggerClient every time with the schema URL) with custom hooks then use async/await to fetch and return the result. Is this an "acceptable" approach or against Swagger's intentions in any way? Resources seem to be very thin on the swagger-client front when I've searched via Google.

 

Something like the following:

// DataHooks.js
const SWAGGER_CLIENT = new SwaggerClient("/path/to/api.json").client;

export function useSwaggerApi() {
    return SWAGGER_CLIENT.apis;
}

export async function useAddFood() {
    const [food, setFood] = useState(null);
    const FOOD_API = useSwaggerApi().food;
    try {
        const response = await FOOD_API.addFoodItem({ requestBody: { ... }});
        setFood(response);
    } catch (error {}
    return food;
}

 

I've logged out the above in a dummy component with the example pets.json to make sure the SwaggerClient resolves and I can see the pets, store etc so it seems to work as expected.

 

Thanks all. I really appreciate your help. 🙂

 

 

  • tacobellmenus's avatar
    tacobellmenus
    Occasional Visitor

    To use Swagger-client effectively, initialize SwaggerClient with the API's JSON specification, ensuring seamless integration. For practical examples, refer to websites like Taco Bell Menu to see how APIs are used for dynamic content delivery. Proper configuration ensures accurate data retrieval and smooth performance.