APIとは
APIとは「Application Programming Interface(アプリケーション・プログラミング・インターフェイス)」の略語であり、「ある1つの機能に特化したプログラムで共有可能なもの」や「ソフトウェアの機能を共有する仕組み」のことです。
Web APIの場合、プログラムはWeb上に公開され、外部から呼び出して利用します。
https://www.internetacademy.jp/it/programming/javascript/how-to-use-web-api.html
今回行ったこと
rails学習もまだ浅いので、アプリ作成の練習をかねて以下の事を行いました。
→ユーザーが住んでいるコロナの情報を1つのページの表示する
・ユーザー情報登録(名前、メアド、お住まいの都道府県)
・ユーザーの登録されているの都道府県のコロナの情報をapiを使って1つのページに表示する
使用したAPIに関する記事
Google News ↓ コロナのニュース取得に使用
https://qiita.com/KMD/items/872d8f4eed5d6ebf5df1
都道府県別 PCR 検査実施人数
https://coronavirus-esrijapan-ej.hub.arcgis.com/datasets/全期間・検査陽性者の状況別集計(ポイント版・都道府県別)
日本の都道府県ごとのCOVID-19(コロナウイルス)情報を取得するためのWeb API
https://github.com/ryo-ma/covid19-japan-web-api/blob/master/README.ja.md
※数値は正確ではない可能性がありますので、正しくは公的機関からのレポートを参照してください。
開発(API部分)
class HomeController < ApplicationController
require 'net/http'
require 'uri'
require 'json'
require 'open-uri'
def index
# ログインしているユーザーのお住まいの都道府県を取得↓
prefecture_name =current_user.prefecture_name
uri_encode = URI.encode "https://services.arcgis.com/wlVTGRSYTzAbjjiC/arcgis/rest/services/all_patient_v2_prefecture_point_view/FeatureServer/0/query?where=name='#{prefecture_name}'&outFields=*&outSR=4327&from=20&size=20&f=json"
uri_parse = URI.parse(uri_encode)
uri_prefectures = Net::HTTP.get(uri_parse)
@prefecture_info = JSON.parse(uri_prefectures)
end
end
概要
お住まい(東京で登録されている場合)↓東京のコロナ情報を出す様にしています。
作成したAPP
環境
Rails 6.1.1
ruby 2.7.2p137
Mac Big Sur 11.1
## 後書き、反省点
機能をもっと増やしたかったが、APIの精査や、herokuでのメール設定など、機能に関する開発に時間をかけられなかったので、次回はこの辺に時間を取られないようにしたい。