技術メモ

楽天API応用!PHPLaravelアプリ内で活用してみた!

こんにちはプログラミング初心者のもも(@momo_programer)です🍀

 

先日楽天APIで書籍検索機能をカスタムできた話をしたのですが、その中でこんなことを言っていました。

 

私は書籍管理アプリを作っているので、楽天ブックス検索で出てきた結果の中ですでに自分が読んだ本があったら、登録するボタンを作って、それをそのまま自分の投稿に使える機能を付けられたら便利です。

楽天APIでPHPLaravelアプリ内で書籍検索をする!②

 

難しいのかな~と思っていたのですが、意外と簡単だったので書いていこうと思います。

はじめに

まずは楽天APIの検索結果はこんな感じです。

 

 

たとえば「プログラミング」と検索すると、

 

「画像」「書籍名(リンク)と著者」「価格」が表示されます^^

 

そして追記したのが、Booksnapsの投稿として追記できるボタンですね。

 

作る流れは色々ありますが、

 

私は、まず視覚的に確認できるとモチベーション維持できるので、先にbladeファイルに形だけ作っちゃいます。仕組みを作るのはそのあとです。

 

しかもBootstrapを使っているので、丸ボタンは公式のガイドにも載っているので、ちゃちゃっと作れます(^^)/

link_to_routeで投稿ページにページ遷移させる

さて、次はシステムを作っていきます。

 

今は45行目のところでbuttonタグを使っている表示しているだけなので(下の図参照)、これをページ遷移できるものに変えていきましょう。

 

👇

 

45行目のところで、link_to_route()を使ってちょっと長くなっちゃいましたが、書いています。

 

第一パラメータ:遷移先のルーティングを指定

 

第二パラメータ:ブラウザで表示させる文字列(今回は+マークのみですが、お好みで「登録する・追加」など)

 

第三パラメータ:booksnaps.createに送る値があれば指定。今回は検索結果した中で書籍のタイトルを値として活用したいので、記入。何も値を送らないときは[]とすればOKです

 

第四パラメータ:見映えの部分。bootstrapを使用しているのでclassでボタンの形にするように書いたり、微妙な大きさをstyleで指定。

 

パラメータは条件という意味合いで、

 

それぞれの関数(link_to_route()のこと)には指定しないといけないパラメータがある程度決まっています。

 

調べつつ覚えていくし、一度作れば、「あれってなんだっけな~」って感じで思い出したり振り返ったりできるので気長に根気よくやるのがいいですね。

 

さて、話は脱線しましたが、ページの遷移はこれで完了です。

 

次は遷移先であるbooksnaps.createでもらった値(タイトル)を反映させる仕組みを作っていきます。

超簡単だったもらった値の反映

これが結構難しいんじゃないかと思ってたのですが、全然そんなことなかった。

 

まずは仕組みを作る前がどうなっていたかですが、こんな感じです。

 

 

create()のカッコの中には当然なにも入れてません。ユーザー認証できた人だけが投稿できるようになっています。

👇

 

そして書き加えたものがこちら。

 

create()の中にRequest $titleと書いて、投稿画面になるときに、何らかの値が来たらそれを$titleという箱に入れる、という意味合い。お好みの名前で大丈夫です。

 

で、$titleは宣言といって、それがどういうものなのかを説明しないといけないので、画像の34行目で宣言してます。

 

input()はリクエストを取得するときに使います。詳しくはLaravelのドキュメントに載っています。

 

リクエストの取得/Laravelについて詳しくみる

 

これで値を取得できたことになるので、最後にそれをviewに返すことでブラウザでもタイトルがしっかり反映されます。(画像の40行目)

 

with()を使って返しているのですが、この辺りはまだ私も詳しくないのですが、

 

普通にreturnに書くと、リクエスト(値)が無い場合(タイトルを普通に手打ちする場合)はエラーになるかと思います。

 

その場合は、リクエストがないよ~とエラーになるので、無い場合は無視してね~という記述が必要になってきます。

 

withの場合はそのあたりを省略できるのかなと思います!でも自信がないので、そのあたり知りたい方は詳しく調べてみて下さい^^私も分かるようになったら載せようと思います。

最後!挙動確認!

これで仕組みづくり終了。そんなんで動くの?と思っていたのですが、検索結果の一番上。サーモンピンクの画像の書籍タイトル「文系でも転職・副業~」を追加してみます!

 

👇

 

こうですね、しっかりタイトルが入ってます^^

 

これでユーザーも少しは楽に投稿できるかもしれません。またタイトルだけでなく、作者なども追加すれば、よりいいですよね。

 

ファイルアップロード機能も付けて、画像も取り込めたらもっともっと良くなります✨AWSの無料枠だとちょっと厳しいと思いますが。

まとめ

APIで抽出したデータを活用することができました^^

 

そんなに難しくなかったので、ぜひ応用もしてみて下さい!出来ることがちょっとでも増えると楽しいです!

ももの公式メールマガジン

プログラミングに興味がある人やプログラミング学習を始めた人のために、

とっても大切なマインドについて公開しています。

 

私が思うに、マインドが整っていれば、どんな手段から学べます。

 

無料で学習しても、プログラミングスクールで学習したとしても自分の力にしていけます。

 

でもマインドが整っていないと、せっかくプログラミングスクールにお金を払っても、うまくいかなくて泣く思いをしてしまいます。

 

そんな風になってほしくないから、メルマガを始めました。

 

詳細はこちらのページを覗いてみて下さい^^

COMMING SOON...

-技術メモ

Copyright© とある新人SEは、走らない。 , 2021 All Rights Reserved Powered by AFFINGER5.