Post#index 要能找到所有文章

建立 posts 的 API 模組

api_v0 下其實就跟 controller 下一樣,請用複數

touch app/api/api_v0/posts.rb

使用者能看到自己所有的 posts

module ApiV0
  class Posts < Grape::API
    before { authenticate! }

    desc "Get all your posts"
    get "/posts" do
      current_user.posts
    end
  end
end

要記得在入口點 api/api/api_v0/base.rb 加上 posts 模組

module ApiV0
  class Base < Grape::API
    #...
    mount Posts
    #...
  end
end

這樣一來,如果哪天要關閉 posts API 只需要把 mount Posts 註解掉就行,很方便吧

因為目前資料庫是沒有資料的,請先在 rails console 內建立資料

user = User.create(email: "[email protected]", password: "password")
Post.create(user: user, title: "Hello", context: "World")

access_token = ApiAccessToken.create(user: user)

# 把 token 打印出來,我們在 call API 時要用
access_token.key

測試對 localhost:3000/api/v0/posts 發起請求,並帶上把剛剛的 token 放在 access_key 裡

應該會拿到

[
    {
        "id": 1,
        "title": "Hello",
        "context": "World",
        "created_at": "2019-04-05T10:55:38.578Z",
        "updated_at": "2019-04-05T10:55:38.578Z"
    }
]
Copyright © NicLin 2019 all right reserved,powered by Gitbook該頁面生成時間: 2019-04-09 10:00:37

results matching ""

    No results matching ""