チュートリアル - kuranari/mblog GitHub Wiki
0. 前提
localhost:3000
でrails applicationが起動しているcurl
コマンドがインストールされている- (optional)
jq
コマンドがインストールされているjq
コマンドがインストールされていない場合、各コマンドの| jq
のパイプを削除して実行して下さい
1. API TOKENの発行
$ curl localhost:3000/signup -d '[email protected]&password=password' | jq
{
"api_token": "PV2MLV9CnpfN854ALng6ATgE",
"user": {
"id": 1,
"email": "[email protected]",
"created_at": "2017-12-19T13:44:44.000Z",
"updated_at": "2017-12-19T13:44:44.000Z"
}
}
以降、response bodyで取得したAPI TOKENを使用します。
このチュートリアルではAPI_TOKENとしてPV2MLV9CnpfN854ALng6ATgE
を使用しますが、実際に返ってきたトークンの値を使用して下さい。
2. 記事の作成
$ curl -H 'Authorization: Bearer PV2MLV9CnpfN854ALng6ATgE' \
-XPOST localhost:3000/articles/ \
-d 'title=Alice in wonderland&body=hogehoge' | jq
{
"id": 1,
"title": "Alice in wonderland",
"body": "hogehoge",
"user": {
"id": 1,
"email": "[email protected]",
"created_at": "2017-12-17T16:57:46.000Z",
"updated_at": "2017-12-17T16:57:46.000Z"
},
"favorite_users": []
}
3. 記事の編集
$ curl -H 'Authorization: Bearer PV2MLV9CnpfN854ALng6ATgE' -XPUT localhost:3000/articles/1 -d 'title=Bible' | jq
{
"id": 1,
"title": "Bible",
"body": "hogehoge",
"user": {
"id": 1,
"email": "[email protected]",
"created_at": "2017-12-17T16:57:46.000Z",
"updated_at": "2017-12-17T16:57:46.000Z"
},
"favorite_users": []
}
4. 記事のお気に入り
$ curl -H 'Authorization: Bearer PV2MLV9CnpfN854ALng6ATgE' -XPUT localhost:3000/articles/1/favorites
お気に入りのレスポンスBodyは空なので、articles/:id
でお気に入りができたことを確認しましょう。
$ curl -H 'Authorization: Bearer PV2MLV9CnpfN854ALng6ATgE' localhost:3000/articles/1 | jq
{
"id": 1,
"title": "Bible",
"body": "hogehoge",
"user": {
"id": 1,
"email": "[email protected]",
"created_at": "2017-12-17T16:57:46.000Z",
"updated_at": "2017-12-17T16:57:46.000Z"
},
"favorite_users": [
{
"id": 1,
"email": "[email protected]",
"created_at": "2017-12-17T16:57:46.000Z",
"updated_at": "2017-12-17T16:57:46.000Z"
}
]
}
5. 記事の削除
$ curl -H 'Authorization: Bearer PV2MLV9CnpfN854ALng6ATgE' localhost:3000/articles/1 -XDELETE
記事が消えていることを確認しましょう。
$ curl -H 'Authorization: Bearer PV2MLV9CnpfN854ALng6ATgE' localhost:3000/articles/1 | jq
{
"message": "Not found"
}
$ curl -H 'Authorization: Bearer PV2MLV9CnpfN854ALng6ATgE' localhost:3000/articles | jq
[]
以上です。