Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...
WorldTimeAPI is a simple web service which returns the current local time for a given timezone as either plain-text or JSON. Additional information is also provided, including whether that timezone is currently in Daylight Savings Time, when DST starts and ends, the UTC offset, etc. The full list of timezones can be found here, and further details about this service can be found in the FAQs. Show
はじめに 今回の記事では、FastAPIでREST APIを開発する手順を簡潔に解説する。 本記事の対象読者 Pythonの基本文法(データ型、条件分岐、繰り返し)を理解している人 RailsやLaravel等のWebフレームワークで簡単なWebアプリケーションを開発できる人 FastAPIで簡潔にREST APIを開発したい人 用語解説 FastAPI FastAPIの公式ドキュメントによると、以下のように説明されている。 FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.7+ based on standard Python type hints. 簡潔に言えば、FastAPIはPythonでAPIを開発するために開発されたWebフレームワークである。P
はじめに こんにちは、ダイゴです。 2021年11月から、Twitter のデフォルトAPIが v1.1 から v2 に変更されました。 v2 に関する日本語記事が少ない&アクセスレベルや利用申請方法も変更されているため、本記事では、v2 の仕様まとめ・セットアップ方法について解説していきます。 どなたかの参考になれば幸いです。 目次 Twitter API v2 のアクセスレベル Developer アカウント登録(Essential利用) Elevated プランへのアップグレード方法 1. Twitter API v2 のアクセスレベル v2 のアクセスレベルは以下の 3つです。 Essential サインアップするだけですぐ使える 無料 tweet caps は50万ツイート / 月 作れる環境は 1つ Elevated 申請が必要 無料 200万ツイート / 月 環境は 3つ作成
位置情報と住所については、常に相互に変換したいというニーズがあります。位置情報はスマートフォンやWebブラウザから取得できますが、住所の文字列から位置情報を取り出すのは意外と面倒です。GoogleマップのAPIなどを使う人も多いでしょう。 今回紹介するCommunity GeocoderはオープンソースのジオコーディングAPIです。日本限定ではありますが、住所の文字列から精度の高い位置情報が取得できます。 Community Geocoderの使い方 デモでは住所を入力すると、地図上での表示と位置情報表示を行ってくれます。 住所は番地まで入れなくても大丈夫です。 Community Geocoderは国土交通省の位置参照情報の「大字・町丁目レベル位置参照情報」を利用しています。GitHub上に静的ファイルでホスティングしており、無料で使えます。レスポンスも速いので、かなり便利に使えそうです
各階層は以下の要素で分かれています。 API version(v1.1/v2) Access level(Standard,Premium…/Essential,Elevated…) Endpoint(recent search, 30 day search…) Plan(sandbox/Premium…) まず、主な系統として、v1.1とv2があります。 現在主要な方はv2なのですが、順番的にv1.1から先に説明します。 v1.1について v1.1には、以下の3種類のアクセスレベルがあります。 Standard v1.1 Premium v1.1 Enterprise: Gnip 2.0 アクセスレベルの種類によって、取得できるツイート数の上限や、利用できる検索式などが異なります。 下のアクセスレベルになるほどグレードが高く、できることが増えます。 v2のアクセスレベルの表を見る限り、
<g> <g> <defs> <rect id="SVGID_1_" x="-468" y="-1360" width="1440" height="3027" /> </defs> <clippath id="SVGID_2_"> <use xlink:href="#SVGID_1_" style="overflow:visible;" /> </clippath> </g> </g> <rect x="-468" y="-1360" class="st0" width="1440" height="3027" style="fill:rgb(0,0,0,0);stroke-width:3;stroke:rgb(0,0,0)" /> <path d="M13.4,12l5.8-5.8c0.4-0.4,0.4-1,0-1.4c-0.4-0.4-1-0.4-1.4,0L12,10.6L6.2
Slackと違って、Microsoft Teamsは気軽にユーザとしてメッセージをPOSTすることはできなくて、管理者の承認が必要だ。 管理者権限なしでできるのは、特定のチャネルのメッセージを取得することだけ。使えね〜〜〜!! (APIでPOSTするものは基本的にボットとしてIncoming Webhookとか使えっていうことなんだろうけど...) とりあえず ここまで権限がもらえたら、TeamsのチャネルのユーザーメッセージをAPIで操作することができる。 Authorize, Token 手っ取り早くトークンだけ欲しい場合には、手動で https://login.microsoftonline.com/テナントID/oauth2/v2.0/authorize?client_id=クライアントID&client_secret=シークレット&response_type=token&scop
V2 Alpha ReleaseThe new V2 release is live! Join our early access Discord serverA unique multiplayer gamebuilt on a free Web APISpaceTraders is an API-based game where you acquire and manage a fleet of ships to explore, trade, and fight your way across the galaxy. Use any programming language with our API to control the most powerful fleet in universe. How It WorksHow do I play a game through a We
煩雑なWeb APIのテストにも 品質とリスクを考慮した戦略・手法がある 本書は Mark Winteringham, "Testing Web APIs", Manning Publications 2022 の邦訳版です。 閉じた環境下にあるプログラムのテストなら、その戦略も手法も自ずと見えてくるもの。どこをどうテストすれば品質が上がり、全体にとってのリスクもある程度は把握できます。けれども、それが手の届かない外部に開いており、ある種のブラックボックス化された環境と接続せざるを得ない時、果たして、採用した戦略が正しいのでしょうか。また、正解ではなかった場合のリスクを見積もることは可能でしょうか。 本書ではプロダクトに対する品質とリスクの両面から、ケースバイケース案件として場当たり的なテスト戦略を見直し、Web APIにとって真に効果的なテスト手法の数々を紹介します。 初歩的な事柄から自
🔷 はじめに 今回は、AWSのAPI GatewyとLambdaで、REST APIの作成を行います。 手順に沿って行うだけで、10分もかからずAPIが作成できます。 🔶 API Gatewy https://aws.amazon.com/jp/api-gateway/ REST APIをノンコーディングで製造、管理ができるサービス。 ただし、作れるのはAPIの入り口部分までで、APIがリクエストを受けた後の具体的な処理は、別に用意する必要があります。 今回は、処理はLambda関数を使用します。 🔶 Lambda https://aws.amazon.com/jp/lambda/ 様々な言語のコードをデプロイできる実行環境。 コードは、様々なAWSプロダクトで発生したアクションをトリガーに実行する事ができます。 今回は、「API Gatewayへのリクエスト」をトリガーに、コードを
この記事はZOZOテクノロジーズ #4 Advent Calendar 2020 7日目の記事です。 昨日は @ahiru___ さんの「MetricKit 入門」でした。ぜひご覧ください! はじめに 普段はGoでAPIやバッチの開発をしています。 Goでは実装コードに対してテストコードを記述してコードの品質を保障します。ところが外部APIなどを利用する場合は、テストコードだけで動作保証は少し心配ですよね。動作を保障するためには実際にAPIにリクエストして動作確認したいところです。しかしセキュリティやアカウント発行などの理由で気軽にリクエストできないことも多々あると思います。 この記事はモックフレームワークとしてWireMock を個人的に導入した件を紹介します。 環境 macOS Catalina 10.15.7 docker 20.10.0 なぜ WireMock 調べると素晴らしいモ
コロナウィルス(COVID-19)が世界的に猛威を振るう中、オープンデータ活用も多数行われています。データを可視化したり、予測に使ったりといったことも、元データが出てくればこそです。しかし、そうしたデータが見やすい形になっているかは別です。ExcelやPDFで公表している場合もあるかも知れません。 そこで使ってみたいのがCOVID-19 Japan Web APIです。ボランティアベースで集積されたデータをWeb APIで取得できます。 COVID-19 Japan Web APIの使い方 例えば都道府県ごとの感染者数。 日ごとの集計データ。 COVID-19 Japan Web APIでは特に認証などがいらず、データをJSONで取得できます。ダッシュボード的なサービスはすでに数多く公開されています。これらのデータを使い、社会にとって役立つサービスを開発してみるのはいかがでしょうか。 CO
仕事でWEB APIを作成する必要が出てきたので、個人的メモとして記載。 プログラム言語は、自由に選べるので、Goを選択。 Lambda用の関数を作成する 以下のような関数を作成。 jsonで、値を2つ受け取ると加算して返す関数。 package main import ( "fmt" "github.com/aws/aws-lambda-go/lambda" ) type GetData struct { Value1 int `json:"Value1"` Value2 int `json:"Value2"` } type ReturnData struct { Answer string `json:"Answer"` } func HandleLambdaEvent(event GetData) (ReturnData, error) { return ReturnData{Ans
この記事はnote.comからの転載です。 https://note.com/yamarkz/n/n41e9ac83c896 雑なメモ書きの様な内容です。 自分の知識、知恵の引き出しの整理も兼ねてます。 実践的で有用な対応パターンをまとめました。 HTTP Method with URI | http method | explain | URI | |GET| ドキュメントリソースの取得| https://api.example.com/v1/items/1 | |GET| コレクションリソースの取得| https://api.example.com/v1/items | |POST| リソースの作成 | https://api.example.com/v1/items | |PUT| リソースの更新 | https://api.example.com/v1/items/1 | |PAT
困っていたこと ローカル開発環境で、ブラウザでReactからAWS SAMのAPI Gatewayを叩きたかったのですが、CORSに行く手を阻まれておりました。 下記は、CORS未設定の状態でAPIを叩いたときにブラウザのコンソールに出るエラーメッセージです。 Access to fetch at ‘http://127.0.0.1:3001/hello_world’ from origin ‘http://127.0.0.1:3000’ has been blocked by CORS policy: Response to preflight request doesn’t pass access control check: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. If
In the Technology industry, there is a constant demand for UPDATES in existing tools, libraries and, software. When such tools/software are not updated over a long time ( even if they don't need updates at that time), they are considered malicious or outdated. Postman which started as an extremely lightweight API testing tool has evolved so much in terms of features and environment that it is cont
概要 Twitter API v2 でユーザー認証も OAuth 2.0 になり権限を細かく設定できるようになったらしいとのことでちょっと試してみました。 OAuth 2.0 Authorization Code Flow with PKCE 詳しい説明はドキュメントや上の記事を参照してもらった方が確実なのでここでは説明しません。 画像だけドキュメントから引用しておきます。 アプリの登録 登録済みのアプリがあったので OAuth 2.0 の登録だけやります。 歯車アイコンをクリック。 Edit をクリック。 OAuth 2.0 を有効化。 Type of App で Web App (サーバーで動くアプリを指してます)または Automated App or bot を選択。 後述しますが今回は Confidential Client で説明していきます。 iOS / Android アプ
LINE Messaging APIによる開発を行っていて、「このデータでちゃんとメッセージが送られるのか?」というのを手軽に試す方法として、curlで直接Messaging APIを実行する方法を紹介します。 事前準備 事前にLINE Developersに登録しておきます。 参考:LINE APIの個人検証環境を作る 1. 友だち追加 LINE Developersにログインし、対象チャネルのMessaging API設定タブで表示されるQRコードを読み取って友達に追加しておく。 2. チャネルアクセストークンを取得 Messaging API設定タブの下部にあるチャネルアクセストークンを控えておく。 チャネルアクセストークン | LINE Developers 3. ユーザーIDを取得 対象チャネルのチャネル基本設定タブで中程に表示されているあなたのユーザーIDを控えておく。 LIN
本記事は Sansan Advent Calendar 2022 の14日目の記事です。 自分が所属している組織では一部gRPC-WebとASP .NET Coreのインテグレーションを用いて開発しています。 .NETにおいてはCode-first gRPCを用いることで通常の開発からシームレスにgRPCサービスの開発に移行することができるため、それまであまりgRPCに馴染みの無かった自分にとっても慣れるのが非常に容易でした。 ということでこの記事ではCode-first gRPCについて紹介します。Azure App Serviceにて構築する際の考慮点についても少しだけ触れます。 おしながきは以下のとおりです。 .NETでgRPCのClient/Serverを作る .NETでCode-firstなgRPCのClient/Serverを作る Azure App ServiceでgRPC(
これはドリコム Advent Calendar 2020 の2日目です。 1日目は ogwmtnr さんによる「コロナ禍、リモートワーク、新生児との生活を振り返ってみる」です。 こんにちは。DRIP エンジニアの広井淳貴です。 DRIP は Drecom Invention Project の略称で、ドリコムが発明を産み続けるためのプロジェクトです。 その中でわたしは「AROW」というプロジェクトで活動しています。AROW では3Dリアルマップの研究開発を行っていて、没入感のある新しいゲーム体験の実現を目指すために現在開発中です。 記事の内容 今回は、SwaggerCodegen で生成したドキュメントとコードを Unity で利用するようになったことについて執筆いたします。 Unity への導入時につまづきをいくつか感じたため、この記事では主に導入方法について書いています。 Open A
「Twitter APIバージョン2」は、これまでとはまったく異なる基盤上に構築されており、開発者が開発を簡単に始められたり、開発規模を拡大したりできるよう、複数のアクセスレベルを設けている。 従来は、無料のスタンダード、有料でセルフサービス型のプレミアム、有料のカスタムAPIであるエンタープライズの3つに分かれていたが、今後はすべての開発者が同じAPIを使用するとともに、これまでの3つのレベルに代わって、開発用途や目的別の新たな区分としてプロダクトトラックを導入する。 今回、提供が開始されたプロダクトトラックは「スタンダード」で、デフォルトのプロダクトトラックとして、開発を始めたばかりの人や、趣味で何かを開発している人、何らかの目的があって勉強したり教えたりしている人を含めて、ほとんどの開発者が対象となる。将来的には、高度なレベルのアクセスの追加を計画している。 さらに近日中に、要件を満
この記事で解説すること C#での複数コンテンツのPost方法を実例付きで解説する。 (複数コンテンツというのは、例えば、画像データとその名前の2つなどの事です。) 複数コンテンツのHTTP POSTの実現方法 以下を使うと複数コンテンツのPOSTが行えます。 System.Net.Http.HttpClientのPostAsync(Uri, HttpContent)メソッド あるいは、PostAsync(uri, HttpContent, fileName)メソッド System.Net.Http.MultipartFormDataContect(HttpContentの派生クラス) 要は、MultipartFromDataContenctにデータを追加していき、HttpClientのPostAsyncメソッドの引数として渡すだけです。(MultipartFormDataContentはH
イントロ 今現在仕事で社内用のWebアプリケーションのバックエンド部分の開発をメインで担当している。(ここでいうバックエンドとはいわゆるAPIサーバーを指す。) インフラ部分はすでにあったものに相乗りする形にしたため何もしてない(ecsのタスク定義書き足しただけ)が、アプリケーションの部分はほとんど1から自分が書いたため、言語選定からアーキテクチャの設計といった部分も自分が考えて意思決定した。もちろん色んな人に壁打ちをして意見をもらった上でだが。 今回はそうしたバックエンドを1から開発する中で結構悩んだことの1つである「テスト戦略」について書く。 テストを書く上で大事だと思うこと 意図を明確にする なぜこのコードに対してテストを書いたのか (or 書かないのか) このテストは何をテストしたいのか こうしたテストに対する意図が言語化されてると嬉しいことがいくつかある。 テストコードの理解がし
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く