Help us understand the problem. What is going on with this article?

JSON-SchemaからTypeScriptの型定義を生成する

REST APIの通信も型で守りたい!となった時に便利なライブラリがあったので紹介します。
json-schema-to-typeを使えばjson-schemaからTypeScriptの型定義を自動で生成することができます。

json-schema-to-type

使い方

コマンドラインの使い方です。
Qiita API v2のjson-schemaで試します。

これだけ。

curl https://qiita.com/api/v2/schema | npx json2ts > qiita-types.d.ts

一瞬で型定義が生成できます。

qiita-type.d.ts
/* tslint:disable */
/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */

/**
 * In this schema file, we represents the public interface of Qiita API v2 in JSON Hyper Schema draft v4.
 */
export interface QiitaAPIV2JSONSchema {
  access_token: AccessToken;
  authenticated_user: AuthenticatedUser;
  comment: Comment;
  expanded_template: ExpandedTemplate;
  group: Group;
  item: Item;
  like: Like;
  project: Project;
  reaction: EmojiReaction;
  tag: Tag;
  tagging: Tagging;
  team: Team;
  team_invitation: InvitedMember;
  template: Template;
  user: User4;

}

...
ryo2132
Frontend engineer / フルリモートワーク / 元消防士🚒 / 一児の父 / Ruby / Typescript / Vue.js / Firebase
admin-guild
「Webサービスの運営に必要なあらゆる知見」を共有できる場として作られた、運営者のためのコミュニティです。
https://admin-guild.slack.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away