6

RAMLで POST パラメータがサポートされているかどうかお尋ねしたいと思います。そして、もしあれば - 構文は何ですか。spec 0.8と spec 1.0を大まかにブラウジングしました (実際には0.8、多くのツールがまだサポートされていないため、に縛られています1.0)。POST パラメーターのサポートが見つかりませんでしたが、何か見逃していたのかもしれません。

では、POST パラメーターとはどういう意味ですか? これらは2つのいずれかです(申し訳ありませんが、正式な名前がある場合はわかりません):

  • HTTP プレーン パラメータkey=value、各パラメータを 1 行にまとめたもの。

    name=John Doe amount=5 これはあまり便利ではありません (例: ネストなし)

  • JSON object としてのパラメーター、すべての構文が許可された JSON のみ (サーバー側でこの json を解析する必要があります)。そのような:

    {"name":"John Doe","amount":"5"}

異なるサーバー側 API 実装では、1 つ目または 2 つ目のいずれかが使用されます。とにかく、RAML はこれらをどのようにサポートしていますか?

4

3 に答える 3

7

このリファレンスhttps://github.com/raml-org/raml-spec/wiki/Breaking-Changesに示されているように:

RAML 0.8 の場合:

body:
  application/x-www-form-urlencoded:
    formParameters:
      name:
        description: name on account
        type: string
        example: Naruto Uzumaki
      gender:
        enum: ["male", "female"]

raml 1.0 で次のものに相当します。

body:
  application/x-www-form-urlencoded:
    properties:
      name:
        description: name on account
        type: string
        example: Naruto Uzumaki
      gender:
        enum: ["male", "female"]

したがって、変更されるのは、formParameters 属性をプロパティ 1 に変更することです。

于 2016-11-26T15:06:42.530 に答える
4

投稿パラメータはJSON スキーマを使用して表現できます

簡単な RAML 0.8 の例:

#%RAML 0.8
title: Api
baseUri: /
schemas:
  - Invoice: |
    { 
      "$schema": "http://json-schema.org/draft-03/schema",
      "type": "object",
      "properties": {
        "Id": { "type": "integer"},
        "Name": { "type": "string"},
        "Total": { "type": "number"}
      }
    }
/invoices:
  post:
    body:
      application/json:
        schema: Invoice
于 2016-02-17T13:20:31.343 に答える