Estoy usando openapi-client-axios para generar una instancia de axios a partir de un archivo de especificación de API abierta. Cuando se inicie mi aplicación, solicitará la especificación de API abierta y la biblioteca generará una instancia de axios a partir de ella. Ahora, me gustaría eliminar la dependencia del tiempo de ejecución de mi especificación de API abierta y guardar la instancia generada en su lugar.
¿Hay alguna forma de generar un generador de prototipos a partir de un objeto JS? Me gustaría lograr algo como esto:
generateJSCodeFrom(axiosInstance);Salida.js:
function GeneratedAxiosClient() { } GeneratedAxiosClient.prototype.getById = function(id) { return axios.get("localhost:8080/people", {id}); };Hay una serie de generadores de código para generar código de cliente a partir de las especificaciones de OpenAPI. Puede usarlos en tiempo de compilación o creación para generar un cliente, por lo que no necesita cargar la especificación OpenAPI en tiempo de ejecución. Por supuesto, esto también significa que debe verificar regularmente su cliente generado para obtener actualizaciones si la API cambia.
Algunas herramientas que generan clientes OpenAPI:
También hay un módulo contenedor en npm para OpenAPITools que podría integrar en su proceso de compilación de JS.