RAM学習ノート

3996 ワード

RAM学習ノート
RAM L,SwaggerとAPI Blueprintの違い
Swaggerの利点は、既存のプログラムからインタフェースを自動的に生成し、ドキュメントを完全に手書きする必要がないことです.
RAM Lの利点は、ドキュメントの作成が明確で便利で、既存のインタフェースがなく、新しい計画が必要であることです.
Blueprintの利点はmarkdown構文です.現在手元のインタフェースも0から始まるので、システム的に計画する必要があるので、RAM Lを選んで作成と計画を両立させる
エディタの選択
VSコードRAMカード
学習レコード
1.RAM文書ヘッダ宣言
#%RAML 1.0
title: ZANE api
baseUri: http://api.zanezz.cn/{version}
version: v1

注意:ramlのインデントは2つのスペースです
2.資源の位置付け
例えば、会員インタフェースには、会員情報の取得と新規会員の2つのインタフェース方法が含まれており、リソースの位置付けをこのように書くことができます.
/member:
  description: the interface is operations about vip.

  /getmember:
    description:       ,          ,       
  /addmember:
    description:       

各コロンの後ろにスペースがあり、コロンの後ろに「|」記号がある場合は、後ろの内容が複数行であることを示します.
3.呼び出し方法
次に、インタフェースの呼び出し方法を定義する必要があります.RESTful規格では、GET、POST、PUT、PATCH、DELETEが一般的に使用されています.ここでよく使われているのは2つのGETとPOSTだけです.ここで、GETは主に読み出し動作に用いられ、POSTは主に書き込み動作に用いられる.
/member:
  description: the interface is operations about vip.

  /getmember:
    description:       ,          ,       
    get:
      description:       ,get  
  /addmember:
    description:       
    post:
      description:       ,post


4.要求パラメータ
呼び出し方法には、会員を取得するパラメータがmobileであり、新規会員にはnameとmobileの2つのパラメータがあるなどの要求パラメータを添付する必要があります.
/member:
  description: the interface is operations about vip.

  /getmember:
    description:       ,          ,       
    get:
      description:       ,get  
      queryParameters: 
        mobile:
  /addmember:
    description:       
    post:
      description:       ,post
      queryParameters: 
              name:
              mobile:

次に各パラメータに対して制約条件などを定義し、typeはパラメータタイプを表し、descriptionはパラメータ説明を表し、requiredは必須かどうかを表す.
/member:
  description: the interface is operations about vip.

  /getmember:
    description:       ,          ,       
    get:
      description:       ,get  
      queryParameters: 
        mobile:
          type: string
          description:     
          required: true
  /addmember:
    description:       
    post:
      description:       ,post
      queryParameters: 
              name:
                type: string
                description:     
                required: true
              mobile:
                type: string
                description:     
                required: true

5.結果を返す
次に、戻り結果について説明する必要があります.結果には、インタフェースの戻り値を理解するのに便利な戻り例が示されています.ここでreponsesは、戻り結果定義を表し、まず、戻り結果200を定義し、bodyを定義し、戻りフォーマットjsonを定義し、戻り例exampleを表します.
#%RAML 1.0
title: ZANE api
baseUri: http://api.zanezz.cn/{version}
version: v1

/member:
  description: the interface is operations about vip.

  /getmember:
    description:       ,          ,       
    get:
      description:       ,get  
      queryParameters: 
        mobile:
          type: string
          description:     
          required: true
      responses: 
              200:
                body: 
                  application/json:
                    example: |
                      {
                        "error":0,
                        "msg":"    ",
                        "data":[
                            {
                              "name":"  ",
                              "mobile":"12388888888"
                            },
                            {
                              "name":"zane",
                              "mobile":"15555255553"
                            }
                        ]
  /addmember:
    description:       
    post:
      description:       ,post
      queryParameters: 
              name:
                type: string
                description:     
                required: true
              mobile:
                type: string
                description:     
                required: true