0
私はswaggerを使用しており、ポストAPIを使用します。パラメータは正しく表示されますが、データをサーバーに送信するためのカールコマンドは生成されません。yamlから投稿するには右のjsonを生成しません
P.S:バックエンドはnode.jsにあり、swagger-jsdocを使ってYAMLドキュメントを表現し、解析します。ここ
はYAMLです:
/**
* @swagger
* /register:
* post:
* tags:
* - report
* description: Returns info for panel api
* consumes:
* - application/x-www-form-urlencoded
* produces:
* - application/json
* parameters:
* - name: email
* in: body
* description: Email
* required: true
* type: string
* - name: password
* in: body
* description: password
* required: true
* type: string
* - name: fullName
* in: body
* description: full name
* required: true
* type: string
* responses:
* 200:
* description: An info for panel api
* 401:
* description: If user didn't authenticate
*/
、これが発生したcurlコマンドです:
curl -X POST --header 'Content-Type: application/x-www-form-urlencoded' --header 'Accept: application/json' -d 'max mcgrey' 'http://localhost:5200/register'
と応答:
{
"status": "fail",
"message": "Validation failed, check your inputs.",
"errors": [
{
"param": "fullName",
"msg": "Full name is required."
},
{
"param": "fullName",
"msg": "Full name must be between 1 and 50 characters long."
},
{
"param": "email",
"msg": "Email is required."
},
{
"param": "email",
"msg": "Email is required."
},
{
"param": "password",
"msg": "Password is required."
}
]
}
データはJSON形式である必要がありますか? – Subburaj
しかし、消費するタイプを "consumes: - application/json"に変更すると、 "curl -X POST - ヘッダー 'Content-Type:application/json' --header 'Accept:text/html' -d 'max max "http:// localhost:5200/register '" "SyntaxError:予期しないトークン"が本体の応答につながります – Navid