我正在使用swagger-client。这是客户端的npm库模块。 但是我有问题 在服务器端,我正在使用快递。
即使我尝试使用put方法发送主体参数,express也不接受参数。 只能达到路径参数或查询参数。 那没问题。
这是代码和醒目的json。
■json中的请求路径。
"/test/{hogehoge}/sample": {
"put": {
"summary": "summary",
"description": "description",
"tags": [
"Sample"
],
"operationId": "operationId",
"parameters": [
{
"name": "path",
"in": "path",
"description": "path description",
"required": true,
"type": "integer"
},
{
"name": "body",
"in": "body",
"description": "body",
"required": true,
"schema": {
"$ref": "#/definitions/bodySchema"
}
}
],
■请求将路径放在上面的方法。
"bodySchema": {
"type": "object",
"properties": {
"bodySchemaVersion": {
"type": "string",
"description": "bodySchema version"
}
}
},
■快递日志
parameter:
{ query: {},
path:
{ param1: 'param1',
param2: 'param2' },
body: {} } } ← body that it should be bodySchema param.
■客户端Vue
import Swagger from 'swagger-client';
import swaggerJson from '@/assets/swagger/swagger.json';
....
// opts include
// { bodySchema: { bodySchemaVersion: 'string text' } }
await this.swagger.client.apis[tagName][funcName](_opts);
答案 0 :(得分:0)
我解决了这个问题。
this.swagger = new Swagger({
spec: json,
usePromise: true,
requestInterceptor(req) {
req.headers['Content-Type'] = 'application/json'; // I've add this line.
return req
}
});