タイプスクリプトベースのAPIを構築する
7098 ワード
ボトムラインのように.TypesScriptはクールです!
私たちは素晴らしいIDEの提案とヒントと一緒にエラーやバグをより簡単にキャッチできるように、私はtypescriptを繰り返してクールです.後のようにtypescriptのサポートに組み込まれている多くのフレームワークがありますが、foaltsは前線でtypescriptで構築されます.Foraltsは、より堅牢なtypescriptバックエンド工学経験のうちの1つを構築するために、彼らのtypescript支持のために、ORMと他のライブラリを慎重に選びます.
それでは、APIのビルド方法
事前の要件は、NodeJS 10またはより大きい を必要とします
セットアップ
プロジェクトを起動したいディレクトリを開いて、次のコマンドを実行してfoalts cliをインストールします.
ルートの作成
ルートを作成するには、コントローラが必要です.Ruby on Rails(Ruby)、Masonite(Python)、またはSpring(Java)のように、コントローラはサーバーが要求を受け取るときに特定のURLがどのように処理されるかを決定するメソッドを持つクラスです.
新しいコントローラを作成するには、次のコマンドを実行します.
ファーストコントローラ.コントローラ.TS
@ getデコレータは、メソッドをエンドポイントへのGETリクエストの1つとして指定するのを使用します. FOOはその方法であり、それは でありえる CTXは我々が foaltsはレスポンスの状態を変更する多くのメソッドを持っています.このメソッドを渡してJSONを返すことができます. ルートを変更しましょう.
src/app/app.コントローラ.TS
SubControllerクラスプロパティを使用すると、サブコントローラを指定できます.AppControllerはグローバルコントローラです、そして、我々は現在すべての「最初の」要求 を処理する我々の最初のコントローラにサブコントローラを作りました
CREATE CONNECT関数はデータベース接続を作成します.FOALはTypeScriptにフォーカスされたORMであるtypeRMを使用します.configフォルダの設定ファイルのデータベース設定を変更できます.デフォルト.JSONは、デフォルトのアプリケーション設定 ですの開発JSON開発環境 の設定ですの生産.JSONは生産環境の設定242479182です テスト.JSONは、テスト を実行するときに使用する設定です
ルートのテスト
それが
あなたは
多田!あまりにも難しい、右!
その他の機能 Foolは我々の完全なAPIをロールバックするのを助けるために他の発電機を持っています.そして、それは容易にあなたのデータベースモデル/実体とコントローラから役割を助けます. ビルトインJWT認証機能は、Authを加えて、あなたのルートを超簡単に保護します. あなたがRuby on Rails/春のようなバッテリーがノードとタイプスクリプトの経験を含むならば、Foraltsはあなたの背中を持ちました.
私たちは素晴らしいIDEの提案とヒントと一緒にエラーやバグをより簡単にキャッチできるように、私はtypescriptを繰り返してクールです.後のようにtypescriptのサポートに組み込まれている多くのフレームワークがありますが、foaltsは前線でtypescriptで構築されます.Foraltsは、より堅牢なtypescriptバックエンド工学経験のうちの1つを構築するために、彼らのtypescript支持のために、ORMと他のライブラリを慎重に選びます.
それでは、APIのビルド方法
事前の要件
セットアップ
プロジェクトを起動したいディレクトリを開いて、次のコマンドを実行してfoalts cliをインストールします.
npm install -g @foal/cli
次にこのコマンドを使って新しいプロジェクトを生成しますfoal createapp my-api
開発セルをコマンドで実行できますnpm run develop
Localhostに行く:3001とデフォルトの着陸ページが表示されます.ルートの作成
ルートを作成するには、コントローラが必要です.Ruby on Rails(Ruby)、Masonite(Python)、またはSpring(Java)のように、コントローラはサーバーが要求を受け取るときに特定のURLがどのように処理されるかを決定するメソッドを持つクラスです.
新しいコントローラを作成するには、次のコマンドを実行します.
foal generate controller first-controler
これは、アプリケーション/コントローラ/の新しいコントローラファイルを作成しますファーストコントローラ.コントローラ.TS
import { Context, Get, HttpResponseOK } from '@foal/core';
export class FirstControlerController {
@Get('/')
foo(ctx: Context) {
return new HttpResponseOK();
}
}
/cheese/:hello
からURLパームctx.request.params
を引くことができる文脈、?cheese=gouda
からより多くのURL質問ctx.request.query
とより多くです!import { Context, Get, HttpResponseOK } from '@foal/core';
export class FirstControlerController {
@Get('/')
foo(ctx: Context) {
return new HttpResponseOK({Hello: "World"});
}
}
その後、我々はアプリケーションに表示されるようにアプリのコントローラにこれを配線する必要があります.src/app/app.コントローラ.TS
import { Get, controller, IAppController, HttpResponseOK } from '@foal/core';
import { createConnection } from 'typeorm';
import { ApiController, FirstControlerController } from './controllers';
export class AppController implements IAppController {
subControllers = [
controller("/first", FirstControlerController),
controller('/api', ApiController),
];
async init() {
await createConnection();
}
}
CREATE CONNECT関数はデータベース接続を作成します.FOALはTypeScriptにフォーカスされたORMであるtypeRMを使用します.configフォルダの設定ファイルのデータベース設定を変更できます.
ルートのテスト
それが
npm run dev
でないならば、あなたのサーバーを走らせてくださいあなたは
localhost:3001/first/
で我々のコントローラからルートを見ることができるはずです多田!あまりにも難しい、右!
その他の機能
Reference
この問題について(タイプスクリプトベースのAPIを構築する), 我々は、より多くの情報をここで見つけました https://dev.to/alexmercedcoder/foalts-building-a-typescript-based-api-eaaテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol