2017-03-03 73 views
7

我有以下途徑:哪裏默認值顯示在swagger節點請求中?

/myroute: 
    x-swagger-router-controller: myroute 
    post: 
     operationId: createSomething 
     parameters: 
      - name: payload 
       in: body 
       required: true 
       schema: 
        type: object 
        properties: 
         somedefault: 
          type: string 
          default: teststring 

,並在我的createSomething功能我盡力勸慰記錄的值:

console.log(req.swagger.params.payload.value),我希望看到

{somedefault: 'teststring'}

但我看到somedefault什麼都沒有。我誤解了默認參數在swagger-node中顯示的位置?

+0

我認爲這與尚未實施的錯誤有關https://github.com/apigee-127/sway/issues/102 – cortopy

回答

0

根據this,如果required爲真,則default將被忽略。

+1

這僅適用於參數級默認設置,例如,如果查詢或頭部參數是'required'並且具有'default'值。 OP的例子是不同的 - 請求體是'required',它可以是'{}'和'{「somedefault」:「abcde」}','default'適用於特定屬性('somedefault' ),而不是整個對象。 – Helen