2016-07-08 6 views
0

私はApi BlueprintとDrakovの組み合わせでAPIをモックしようとしています。しかし、1つの特定のエンドポイントについて、私は事前に要求ペイロードがどのようなものかを知りません。下記のコードを参照してください。APIB - リクエストのペイロードに関係なく、常にPOSTリクエストに応答します。

# Group Stuff 

Description about stuff. 

## Main Stuff Resource [stuff/{userId}/response/{responseId}] 

+ Parameters 
    + userId: specialUser (string, required) - ID of user 
    + responseId: 0f9d78ee-005056ad6f10 (string, required) - ID for a particular response. 

### Submit Survey Form [POST] 

+ Attributes 
    + attribute1 (array[object]) - Description for attribute 1 
    + attribute2 (array[object]) - Description for attribute 1 

+ Request (application/json) 
    {attribute1:[],attribute2[]} 

+ Response 201 (text/plain; charset=utf8) 
    + Headers 
     X-XSS-Protection: 0 
     Vary:Origin,Accept-Encoding 
     Access-Control-Allow-Credentials:true 
    + Body 
     http://fakeurl.com 

上記のコードは動作しますが、要求ペイロードは、正確{attribute1:[],attribute2:[]}場合にのみ。でも、異なるwhitespacingは、ユーザーとDrakovからのエラー・ログに404を返し、それを傾けているようだ:[WARNING] JSON body could not be parsed. Using body as is.

私はRequestセクションからJSONの例を取り除く、Requestセクションを削除し、Attributesセクションを削除しようとしました、 Responseセクション以外のすべてを削除し、Schemaセクションを使用します。これらのどれもうまくいくとは思われませんが、API Blueprintのドキュメントでこれについて言及することはできません。

リクエストペイロードの形式またはattribute1attribute2の内容がわからないことを考えれば、そのエンドポイントでのPOST要求に対して、その応答をいつでも返すことができますか?

答えて

1

Hey @LanceLafontaine私はDrakovのメンテナーの一人です。

あなたは(青写真のAPI仕様ファイルで){ "attribute1": [], "attribute2": [] }される要求を変更

を試してみましたDrakovレポ上だけでなくhttp://github.com/Aconex/drakov/issues

を問題を投稿してお気軽に私は「ので、それは短いしばらくしています解析コードを見てみましたが、AttributeセクションがDrakovによって解析されているとは思わないので、Requestセクションであなたの投稿に基づいてマッチしようとします。

+0

これは動作するようです。これは、Requestsセクションとそれを動作させる属性の引用符を組み合わせて使用​​しているようです。 +1 – LanceLafontaine

関連する問題