当前位置: 首页 > 知识库问答 >
问题:

Swagger-正文中未发送数据(Swagger jsdocs、Swagger ui express)

胡沈义
2023-03-14

对于一个nodejs项目,我正在使用swagger ui express和swagger jsdocs作为swagger API。当我尝试使用Swagger调用应用程序的POSTendpoint时,没有使用发送数据。有什么问题吗?我的全部相关代码如下:

const swaggerOptionsJSDocs = {
swaggerDefinition: {
    openapi: '3.0.1', //tried with 3.0.0 as well
    info: {
        title: "Testproject",
        description: "Middleware for bla bla ",
        contact: {
            name: "John Doo"
        }
    }
},
apis: ["index.js"]
};




const swaggerDocs = swaggerJsDoc(swaggerOptionsJSDocs);

app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocs));

**
 * @swagger
 * /user/upload:
 *  post:
 *      description: Receives a zipped and base64 encoded user
 *      consumes: 
 *         - application/json
 *      parameters:
 *          - in: body
 *            name: fullRequest // name here doesn't matter 
 *            description: ...
 *            schema:
 *              type: object
 *              required:
 *                  - user
 *              properties:
 *                  user:
 *                      type: string
 *                  jobId:
 *                      type: string
 *                  responseUrl:
 *                      type: string
 *                  inaugurationDate:
 *                      type: string
 *      responses:
 *          '201':
 *              description: user received and uploaded successfully
 *          '400':
 *              description: user data is missing or invalid
 *          '500':
 *              description: Internal server error
 *      
 *  
 *           
 */
app.post('/user/upload', function(req, res) {
  ....
}

Swagger正在执行get请求,但在发送数据时,d标志为空。有人有主意吗?

最好的问候

共有1个答案

程和煦
2023-03-14

参数“in:body”无效。在开放式API 3中,必须将requestBody作为单独的块传递。

此外,必须使用@openapi才能使用openapi。

请参阅此处,以查看requestBody对象的示例。

**
 * @openapi
...
 *      requestBody:
 *            description: ...
 *            schema:
 *              type: object
 *              required:
 *                  - user
 *              properties:
 *                  user:
 *                      type: string
 *                  jobId:
 *                      type: string
 *                  responseUrl:
 *                      type: string
 *                  inaugurationDate:
 *                      type: string
....
 类似资料:
  • 我试图将一些数据发送到API,但Zapier只会发送我体内的第一行,任何关于如何将所有数据发送到API的建议。因此,在下面的代码中,将发送,但将不发送。

  • 我制作了一个简单的JavaScript页面,当按下“发送”按钮时,该页面应该显示时间表并通过HTTP发送数据。 数据应该发送到一个Arduino使用这个简单的方案: http://arduinoip/DATASTARTSHEREhh:mm;hh:mm;hh:mm;[...];DATAENDSHERE 我使用以下代码打印我在Arduino串行监视器中收到的所有数据: 我收到的数据如下: 新客户 CM

  • 我尝试使用(version4.0)调用api来提交一些数据。我想请求已经成功了。但我遇到的麻烦是,当进行调用时,我从服务器得到一个0字节失败的响应。 我已经尝试了StackOverflow上当前的许多解决方案,但找不到解决方案。谢谢你的帮助。 以下是我的设置:

  • 问题内容: 这是javascript: 这是PHP: 这里的问题是价值。当console.log()用于返回值时,为什么$ _POST [‘email’]为null 。有人可以帮忙吗?我认为这个问题在后面。(不确定) 请不要jQuery 。我知道如何在jQuery中执行此操作,但我想学习如何在javascript中执行此操作。是的,谢谢 问题答案: 你的问题是,与请求为发送不。删除设置内容类型的行

  • 问题内容: 我正在向本地部署并使用JAVA Spark创建的本地服务发出POST请求。 我想使用进行POST调用时在请求正文中发送一些数据,但是每次JAVA Spark中的请求正文为null时。 下面是我为此使用的代码 Java Spark POST服务处理程序 HTTPClass进行POST调用 问题答案: 您应该仅在将参数写入主体后才调用,而不是之前。您的代码应如下所示: