Rails Kitchen

It's a place to write on stuff I learned recently.

APIPI Dumping Examples Into Apipie_examples File

| Comments

Apipie-rails is a DSL and Rails engine for documenting your RESTful API. In older versions of apipi-rails we can dump all our exapmles in to apipie_examples.yml file. From apipie-rails 0.2.0 onwards format of storing examples changed from YAML to JSON: the default location is at doc/apipie_examples.json.

Example:
doc/apipie_examples.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
 {
    "channels#index":[
    {
        "verb": "GET",
        "path": "/api/v1/channels",
        "query": null,
        "code": 200,
        "show_in_doc": 1,
        "recorded": false,
        "request_data": null,
        "page": 1,
        "response_data": {
          "channels": [
            {
              "id": 1,
              "name": "Channel 1",
              "thumb_image_path": "/uploads/channel/thumb_image/1/channel1.png",
              "language_name": "Tamil"
            },
            {
              "id": 3,
              "name": "Channel 3",
              "thumb_image_path": "/uploads/channel/thumb_image/3/channel3.png",
              "language_name": "Tamil"
            }
          ],
          "top_channels": [
            {
              "id": 7,
              "channel": {
                "id": 2,
                "name": "Channel 2",
                "thumb_image_path": "/uploads/channel/thumb_image/2/channel2.png",
                "language_name": "Tamil"
              }
            }
          ],
          "channels_count": 2
        }
    }],
    "channels#show": [
      {
        "verb": "GET",
        "path": "/api/v1/channels/:id",
        "query": null,
        "code": 200,
        "show_in_doc": 1,
        "recorded": false,
        "request_data": null,
        "page": 1,
        "response_data": {
          "channel": {
            "id": 1,
            "name": "suraj comedy",
            "language_name": "Malayalam"
          },
          "videos": [
            {
              "id": 4,
              "title": "Suraj Latest Comedy",
              "description": "Malayalam Comedy Stage Show :",
              "video_link": "https://www.youtube.com/watch?v=tGawZvf_UMA",
              "view_count": 0,
              "created_at": "2016-02-15T09:43:14.000Z",
              "thumb_image_path": "/uploads/video/thumb_image/4/080.jpg"
            }
          ],
          "top_videos": [
            {
              "id": 2,
              "video": {
                "id": 1,
                "title": "Suraj-Shaji Latest Comedy",
                "description": "Malayalam Comedy Stage Show : Pashanam Shaji Speaking pashanam shaji mazhavil manorama,Flowers tv Comedy Super Nite",
                "video_link": "https://www.youtube.com/watch?v=tGawZvf_UMQ",
                "view_count": null,
                "created_at": "2016-02-15T07:48:22.000Z",
                "thumb_image_path": nil
              }
            }
          ]
        }
      }]
  }
  

If you want to upgrade existing document in to newer version then The migration should be as easy as running:
1
rake apipie:convert_examples
This rake task will convert existing data from yml format in to json formatand store in doc/apipie_examples.json.

Comments