nuxtswagger
v3.0.1-5
Published
Nuxt-TS-Swagger plugin generator CLI
Downloads
180
Readme
NuxTSwagger
Nuxt-TS-Swagger plugin generator CLI
Installation
npm i -D nuxtswaggerRequirements
Nuxtbase project
Basic Usage
in Nuxt project directory
npx nuxtswagger https://api.server.foo/swagger.jsonin script code
import { api } from '~/lib/api'
const response = await api.foo.bar(1).post(requestBody) // Post /foo/{bar}
api.foo.bar.get() // GET /foo/barOptions
options priority : command line > nuxt.config > package.json
nuxtswagger argument1 --option1 value1 --option2 value2| option | description | default | example |
|------------------|----------------------------|------------------------------------------|-------------------------------------|
| (first argument) | Swagger schema JSON path | (required) | http://.. or ./foo/swagger.json |
| src | same as first argument | first argument | same as above |
| plugins-dir | Nuxt plugins directory | plugins | |
| plugin-name | Name for generated plugin | api | |
| export-name | Export name | {plugin-name} | ''(export default) |
| type-path | Path for scheme type file | {plugins-dir}/{plugin-name}/{types.ts} | ./types/swagger.d.ts |
Set options using package.json
{
"nuxtswagger": {
"pluginName": "foo",
"src": "https://api.server.foo/swagger.json"
}
}Set options using nuxt.config
v1.2+
export default defineNuxtConfig({
nuxtswagger: [
{ pluginName: 'foo', src: 'https://api.server.foo/swagger.json' },
{ pluginName: 'bar', src: 'https://api.server.bar/swagger.json' },
],
runtimeConfig: {
public: {
nuxtswagger: {
pluginName: 'foo',
// AxiosRequestConfig?
axiosConfig: { baseURL: 'https://api-stage.server.foo' }
},
},
},
})tsconfig.json
{
"compilerOptions": {
"types": ["nuxtswagger/types"]
}
}and npm run swagger or npx nuxtswagger
License
ISC License Copyright (c) 2020, Elevista
