Apidog

オールインワン協働API開発プラットフォーム

API設計

APIドキュメント

APIデバッグ

APIモック

API自動テスト

RAMLとは?その書き方を解説

RAML(Restful API Modeling Language) は、RESTful APIを定義するためのYAMLベースのマークアップ言語です。Restful APIがどんどん主流になっている今、RAMLをマスターする必要があるのでしょう。本文では、RAMLを詳しく紹介した上、RAMLの書き方も一緒に皆さんに解説していきたいと思います。

中村 拓也

中村 拓也

Updated on 11月 12, 2024

RAML(Restful API Modeling Language) は、RESTful APIを定義するためのYAMLベースのマークアップ言語です。Restful APIがどんどん主流になっている今、RAMLをマスターする必要があるのでしょう。本文では、RAMLを詳しく紹介した上、RAMLの書き方も一緒に皆さんに解説していきたいと思います。

RAMLとは

RAML(Restful API Modeling Language) は、RESTful APIを定義するためのYAMLベースのマークアップ言語です。RAMLの主な特徴は以下の通りです:

  • YAML形式で記述するので、人が読みやすく機械が解析しやすい
  • HTTPメソッド、URIパラメータ、リクエスト/レスポンスのスキーマ等を定義できる
  • APIのドキュメントを自動生成できる
  • モックサーバを自動生成でき、APIの検証がしやすい
  • 多数の言語やフレームワークで利用できるライブラリがある

RAMLは、REST API開発者にとって重要なツールの1つとして知られています。RAMLを使うことで、APIの設計からドキュメント、テスト、実装までを効率的に行うことができます。

RAMLの読み方

多くの利用者は、RAMLの読み方は何かが分かっていません。それでは、RAMLをどうやって読めばいいですか?実際には、RAMLについて、事前に約束されている読み方はありませんが、基本的には「アール・エイ・エム・エル」になりますね。また、YAMLを「ヤメル」か「ヤムル」と読みますので、RAMLの読み方も「ラメル」になれるのでしょう。

RAMLとYAMLとの違い

YAMLとは、YAML Ain't Markup Languagの略語として再帰的頭字語を意味して、データをシリアライズするためのテキストベースのマークアップ言語です。RAMLは、YAML言語をベースにして、REST APIを定義するためだけに作られた言語になります。

要するには、RAMLとYAMLは非常に類似しているものです。全てのRAMLもYAMLになっていますが、全てのYAMLはRAMLになっているわけではありません。RAMLはYAMLの表記力と拡張性を利用しつつ、API定義専用に特化させたマークアップ言語ということです。

わかりやすく解説:RAMLの書き方

RAMLはYAML形式で記述するので、人が読みやすくて機械が解析しやすい構造になりますので、書き方も他の言語より比較的に簡単になります。RAMLでAPIを定義する基本的な書き方は以下の通りです。

RAML記述のコンポーネント

ベースとなるAPIの情報を記述

#%RAML 1.0
title: Sample API
version: v1
baseUri: https://example.com/api
  • title: APIのタイトル
  • version: バージョン
  • baseUri: APIのベースURI

リソースを定義

/users:
  get:
    description: Get users
    responses:
      200:
        body:
          application/json:
            type: User[]
  • /users: エンドポイントのパス
  • get: HTTPメソッド
  • description: 説明文
  • responses: レスポンスの定義
  • body: レスポンスボディの定義

型定義

types:
  User:
    type: object
    properties:
      id: string
      name: string
  • types: 型の定義セクション
  • User: 型の名前
  • properties: プロパティの定義

このように、APIのエンドポイント、データ型、レスポンスをYAML形式で定義していきます。

RAMLには他にも多くの拡張機能があり、大規模なAPIを定義できます。

RAMLのサンプル

それでは、上記のRAMLの書き方を元にして、RAMLのサンプルコードを皆さんに示します。例えば、簡単なTODO APIの定義例を行うために、RAML書き方のサンプルは次のようになります:

#%RAML 1.0
title: TODO API
version: v1
baseUri: https://example.com/api

/todos:
  get:
    description: Get all todos
    responses:
      200:
        body:
          application/json:
            type: Todo[]
            
  post:
    description: Create a new todo
    body:
      application/json:
        type: Todo
    responses: 
      201:
        body:
          application/json:
            type: Todo
            
types:
  Todo:
    type: object
    properties:
      id: integer
      title: string
      completed: boolean

このAPIでは、/todosエンドポイントに対して、次の操作を行なっています:

  • GETメソッドで全てのTODOを取得
  • POSTメソッドで新規TODOを作成

RAMLによってリクエスト、レスポンスのスキーマとTodoオブジェクトの定義が記述されています。このRAMLファイルからドキュメントやモックサーバも自動生成できるので、API設計がスムーズにできます。

RAMLのGUIツールおすすめ:Apidog

Webアプリ開発中に、API定義のために、RAMLは非常に広く使われています。RAMLフォーマットで記述しているAPIなら、Apidogはそれに完璧に対応できます。

button

ApidogはRAMLフォーマットのAPIをインポートすることをサポートしているので、RAMLフォーマットのAPIを完全に解析して、APIのデータを完全にApidogにインポートしてテストできます。もちろん、Apidogを使用すると、コードが全く入らなくて、直感的な操作でAPIを設計したりすることもできます。

ステップ⒈プロジェクトの設定を開き、「データをインポート」をクリックすると、「RAML」を選択して、RAMLファイルをApidogにドラッグします。

RAMLをApidogにインポート

ステップ⒉ここでRAMLファイルが解析され、データの保存先を選択すると、「確認」ボタンをクリックするだけで、それを簡単にApidogにインポートできます。

RAMLの保存先を選択してインポート

そして、ApidogというAPI管理ツールを使って、当該APIをテストしたりすることができるようになりますし、APIリクエストを送信して直ちに内蔵のモックサーバーを使って仮のレスポンスデータを取得することもできます。

button
初学者向け:Ollamaを使ってGemma 3を簡単にローカルで動かす方法チュートリアル

初学者向け:Ollamaを使ってGemma 3を簡単にローカルで動かす方法

Ollamaを使用してGemma 3をローカルで実行することにより、アプリに高度なAI機能を統合できます。このガイドは手順を詳細に説明し、Apidogを活用してAPIの開発とテストを効率的に行い、開発プロセスを簡素化します。

中村 拓也

3月 12, 2025

How to Use OpenAI's AI Agent Tools (Developer API Tutorial)チュートリアル

How to Use OpenAI's AI Agent Tools (Developer API Tutorial)

Discover how to use OpenAI’s new tools, including the Responses API and Agents SDK, to build powerful AI agents. Learn about web search, file search, and computer use capabilities

Ashley Innocent

3月 12, 2025

初心者向け:Postmanの基本的な使い方をチュートリアル

初心者向け:Postmanの基本的な使い方を

Postmanは、APIテストなどを行うための定番のツールになります。API戦略を実施する場合は、Postmanを利用することで、その効率性を大幅に向上できます。そこで、本文では、基本的なPostmanの使い方を皆さんに紹介して、Postmanを全く使ったことがないユーザーでも、本文の内容を参照して、Postmanを使いこなすことができると思います。

中村 拓也

3月 2, 2025