Skip to main content
Glama
fundamental-concepts.md2.4 kB
--- sidebar_position: 3 title: Fundamental Concepts --- # Fundamental concepts Before you start writing your specification and/or documentation, please keep in mind that there are two fundamental concepts you need to wrap your head around when working with `swagger-jsdoc` - definition object and input APIs. Definition object maps to [OpenAPI object](https://swagger.io/specification/#oasObject). This is where you would add information about your API and any root-level properties. Definition object is a required parameter. Input APIs are any files which you pass as arguments to the program in order to extract information about your API. For instance, these could be `.js` files with JSDoc comments or `.yaml` files directly. This parameter is also required. There are a few ways by which you can pass these 2 required arguments: When using the CLI: - Through `apis` property in your definition object. - Through arguments When using the Node API: - Through `apis` in your `options` object. For example, given the following module export for a definition object: ```javascript // Taken from example/v2/swaggerDef.js module.exports = { info: { // API informations (required) title: 'Hello World', // Title (required) version: '1.0.0', // Version (required) description: 'A sample API', // Description (optional) }, host, // Host (optional) basePath: '/', // Base path (optional) }; ``` One way you can make use of this definition is by using the CLI as following: ```sh $ swagger-jsdoc -d example/v2/swaggerDef.js example/v2/route*.js ``` If you, however, want to skip the arguments and still use the CLI, you will need to update the definition object as following: ```javascript // Taken from example/v2/swaggerDef.js module.exports = { ... apis: ['example/v2/route*.js'] // <-- We add this property: basePath: '/', // Base path (optional) }; ``` And then you will be able to use the CLI as following: ```sh $ swagger-jsdoc -d example/v2/swaggerDef.js ``` When using the Node API, input APIs come in in the following way: ```javascript const swaggerJSDoc = require('swagger-jsdoc'); const swaggerDefinition = { ... basePath: '/', // Base path (optional) }; const options = { swaggerDefinition, apis: ['./example/v2/routes*.js'], // <-- not in the definition, but in the options }; const swaggerSpec = swaggerJSDoc(options); ```

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/indrasishbanerjee/aem-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server