LaravelでRESTを作った

昨日入れたLaravelでREST APIを作った。

httpリクエストでDBからjsonでデータを取得して、C#で使うってことをやってみる。

マシン構成は、

まだテストなので、DBとRESTは別マシン。

血圧管理手帳システムのDBで、テーブルはこんな感じ。

データは日々の血圧とか体重とか。。体重データーはシークレット。(ゝω・)

– 手順 –

1.LaravelにDB設定する。

/var/www/blood/の下に、Laravelのプロジェクトを作ってある。

前回参照

①/var/www/blood/.envのDB設定を修正。

※この設定はいらないかもしれない?

②/var/www/blood/config/database.phpの修正

元のソースは、

ってなっていたけど接続先のMySQLが古いとエラーが出るのでmb4を消した。

2.コントローラーの作成

/var/www/blood/app/Http/Controllers/にコントローラーが作成される。

3.モデルの作成

①作成

以下が作成される

/var/www/blood/appにモデルファイル
/var/www/blood/database/migrationsにマイグレーションファイル
/var/www/blood/database/seedsにシードファイル

②モデルの修正

テーブル名を追加する。

4.api.phpの修正

今回のapiを追加する。

とりあえず、showだけ作る。

リクエストURLは、血圧データを日付範囲で指定する形にした。

http://192.168.0.135/api/blood/開始/終了

例) http://192.168.0.135/api/blood/2017-03-01/2017-03-11

5.コントローラーの修正

showメソッドの引数を2つに変更して、中身を実装。

URLにアクセスしてみる。

http://192.168.0.135/api/blood/2017-03-01/2017-03-11

jsonが返ってきた。(o^-‘)b グッ!

6.C#でアクセスする

①json.netを入れる

プロジェクトを作成したら、Visual StudioのツールからNuGetで入れる。

Newtonsoft.Jsonを入れた。

②WebClientを使うので参照に追加する

System.Net.Http

System.Net.Http.WebRequest

等を追加

③モデルを作成

④データ取得コードを書く

var data = DBManager.GetInstance().Read(fromDate, toDate);

みたいな感じで、データ取得する。

⑤実行

できた。(∩´∀`)∩

血圧管理手帳システムはExcelのリボンアプリなので、実際はこうなった。

しかし、デバッガでは動くんだが、vstoをインストールして実行するとエラーになる。(´ヘ`;) う~ん・・・

Visual Studio 2017で何か変わったのかな?参照してるアセンブリが違うのだろうか?

Microsoft.Office.Interop.Excelが7個もあるし。。。(´ヘ`;) う~ん・・・

とりあえずREST取得はできたので、つぎは更新系をやってみよう。。

iPhoneで日々のデータを入力するみたいなのがいいな。。

%d人のブロガーが「いいね」をつけました。