POST
操作时出错。.>swagger: "2.0"
info:
version: "0.0.1"
title: Hello World App
# during dev, should point to your local machine
host: localhost:10010
# basePath prefixes all resource paths
basePath: /
#
schemes:
# tip: remove http to make production-grade
- http
- https
# format of bodies a client can send (Content-Type)
consumes:
- application/json
# format of the responses to the client (Accepts)
produces:
- application/json
paths:
/hello:
# binds a127 app logic to a route
x-swagger-router-controller: hello_world
get:
description: Returns 'Hello' to the caller
# used as the method name of the controller
operationId: hello
parameters:
- name: name
in: query
description: The name of the person to whom to say hello
required: false
type: string
responses:
"200":
description: Success
schema:
# a pointer to a definition
$ref: "#/definitions/HelloWorldResponse"
# responses may fall through to errors
default:
description: Error
schema:
$ref: "#/definitions/ErrorResponse"
/postpath:
x-swagger-router-controller: hello_world
post:
description: add a new movie to the list
# movie info to be stored
operationId: postpath
parameters:
- name: title
description: Movie properties
in: body
required: true
schema:
$ref: "#/definitions/Movie"
responses:
"200":
description: Success
schema:
$ref: "#/definitions/GeneralResponse"
default:
description: Error
schema:
$ref: "#/definitions/ErrorResponse"
/swagger:
x-swagger-pipe: swagger_raw
# complex objects have schema definitions
definitions:
HelloWorldResponse:
required:
- message
properties:
message:
type: string
ErrorResponse:
required:
- message
properties:
message:
type: string
Movie:
type: object
properties:
title:
type: string
description: task object name
year:
type: number
description: task description
required:
- title
- year
GeneralResponse:
type: object
properties:
success:
type: number
description: returns 1 if successful
description:
type: string
description: a short comment
required:
- success
- description
以下是其背后的hello_world.js。
'use strict'; var util = require('util'); module.exports = { hello: hello, postpath: postpath }; function hello(req, res) { // variables defined in the Swagger document can be referenced using req.swagger.params.{parameter_name} var name = req.swagger.params.name.value || 'stranger'; var hello = util.format('Hello, %s!', name, 'how are you?'); // this sends back a JSON response which is a single string res.json(hello); } function postpath(req, res) { var isOpen = true; // Details omitted var doorStatus = isOpen; res.json('Test'); }
我正在获得方法不允许的例外。下面是堆栈跟踪..
{“ message”:“在Swagger规范(/ hello)中定义的路由,但是 没有定义的发布操作。“,” allowedMethods“:[ “ GET”]}我正在运行以下代码,并且在执行POST操作时出错。.swagger:“ 2.0”信息:版本:“ 0.0.1”标题:开发期间的Hello World App#,应指向您的本地...] >
paths:
/hello:
get:
但您还想定义POST:
paths:
/hello:
get:
- something
post:
- something else