我试图点击网址localhost:3000/category/list,这是一个GET请求。不幸的是,我没有在浏览器中得到响应。相同的API已经在Postman中测试过,并得到了正确的结果。我在下面附上swagger配置文件。
const swaggerJsDoc = require("swagger-jsdoc");
const swaggerUi = require("swagger-ui-express");
const dotenv = require("dotenv");
dotenv.config({ path: "config/config.env" });
const options = {
definition: {
openapi: "3.0.0",
info: {
title: "Shopp REST APIs",
version: "1.0.0",
description: "API Library for Shopp - Eccomerce App",
},
servers: [
{
url: `http://localhost:${process.env.PORT}`,
},
],
},
apis: ["/home/user/Desktop/eCommerce_App/routes/*.js"],
};
const specs = swaggerJsDoc(options);
module.exports = { specs, swaggerUi };
下面是路由文件:
/**
* @swagger
* components:
* schemas:
* Category:
* type: object
* properties:
* Id:
* type: string
* name:
* type: string
* slug:
* type: string
* parentId:
* type: string
*
*/
/**
* @swagger
* /category/list/:
* get:
* summmary: Returns the list of categories and subcategories
responses:
* 200:
description: Testing Get
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Category'
*/
router.get("/list", listCategories); // View all the categories
已尝试文档。问题仍然存在
1条答案
按热度按时间zpgglvta1#
我猜Swagger UI没有呈现“Responses”部分是因为路由注解中的一些错误导致了无效的API定义。具体来说,您应该在块注解中每行的开头添加
*
,以便格式和缩进保持一致。此外,还有一个错字:
summmary
应该是summary
。请尝试按如下方式更改管线标注,看看是否可以解决此问题: