Skip to Content
Web API: The Good Parts
book

Web API: The Good Parts

by 水野 貴明
November 2014
Intermediate to advanced
224 pages
3h 22m
Japanese
O'Reilly Japan, Inc.
Content preview from Web API: The Good Parts

2章エンドポイントの設計とリクエストの形式

本章からいよいよ具体的なAPI設計のルールや方法について見ていくことにします。Web APIを公開するにあたっては、まずは何をAPIとして公開するのか、そしてどういったAPIとして公開するのかを考えなければなりません。まずはそのための公開する機能の決定と公開するエンドポイントの決め方、およびエンドポイントの設計について考えてみることにします。

2.1 APIとして公開する機能を設計する

APIを公開するにあたってはまず、APIとして何を公開するのかを決めなければなりません。そこでここではあなたがごく簡単なSNSサービスを作っていると仮定して、実際にどんなAPIを作るべきかを考えてみましょう。あなたが開発しているSNSサービスは表2-1のような機能があり、ウェブ、あるいはモバイル向けのクライアントアプリケーションを経由して操作することができます。あなたは公開するAPIを自分で開発を行うモバイルアプリケーションからのアクセスだけでなく、広く一般に公開してユーザーが利用できるものとしたいと考えています。

表2-1 SNSサービスの機能

機能
ユーザー登録、編集
友達の検索、追加、削除
友達の間でのメッセージのやりとり

では、この場合どういうAPIを用意すればよいでしょうか。

非常にシンプルにAPIを設計する方法として、サービスが利用するデータベースのテーブルを直接操作するようなものを作ることもできます。たとえばこのSNSサービスの場合は、ユーザー、友達のソーシャルグラフ情報、タイムラインの3つのテーブルが存在していると思われるので、それらをそれぞれ検索、編集できるようにすれば、サービスの操作は一応できてしまいます。

しかしそんなSQL文をただ包んだだけの設計では決して使いやすいAPIにはなりません。なぜならそんなAPIでは、データが内部的にどのように格納されているか、どういうリレーションを持っているかなどを理解していないと使うことができませんし、そもそもそんな内部構造を公開してしまうことはセキュリティを考えても大変危険なことだからです。したがってAPIはもう少し高い次元での機能を表すものである必要があります。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Principles of Web API Design: Delivering Value with APIs and Microservices

Principles of Web API Design: Delivering Value with APIs and Microservices

James Higginbotham
API Design Patterns

API Design Patterns

John J. Geewax
Designing APIs with Swagger and OpenAPI

Designing APIs with Swagger and OpenAPI

Lukas Rosenstock, Joshua Ponelat
Mastering API Architecture

Mastering API Architecture

James Gough, Daniel Bryant, Matthew Auburn

Publisher Resources

ISBN: 9784873116860Other