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. 🙂
Are you able to see anything in response, in XML tab? In my case I see my response image(Encoded) in XML tab with encoded data. with Content type. If you can see like that, we can set it the dynamic file type by writing groovy script with set property.
File name you can give something which related to REST call name and file type(Just a work around).