Skip to content

Latest commit

 

History

History
79 lines (59 loc) · 2.28 KB

routing.md

File metadata and controls

79 lines (59 loc) · 2.28 KB

ルーティング

戻る

ルーティングはmain.nimに書かれます。これはBasolatoのエントリーポイントでもあります。

import basolato
import app/controllers/some_controller

var routes = newRoutes()

routes.get("/", some_controller.index)
routes.post("/", some_controller.create)

コンテンツ

HTTP動詞

以下のHTTP動詞が使えます。

動詞 説明
get 一覧取得
post 新規作成
put 一つのデータの更新
patch 一つのデータの更新
delete 一つのデータの削除
head レスポンスボディ無しで同じレスポンスを取得する
options Axios/JavaScriptCurl/shのようなクライアントAPIソフトウェアによるpost/put/patch/delete/アクセス前にレスポンスヘッダのリストを取得する
trace 対象リソースへのパスに沿ってメッセージのループバックテストを実行します。
connect 対象リソースで識別されるサーバーとの間にトンネルを確立します。

ルーティンググループ

import basolato
import app/controllers/some_controller
import app/controllers/dashboard_controller


var routes = newRoutes()

routes.get("/", some_controller.index)

groups "/dashboard":
  routes.get("/url1", dashboard_controller.url1)
  routes.get("/url2", dashboard_controller.url2)

/dashboard/url1/dashboard/url2が有効なURLになります。

URLパラメータ

BasolatoはURLパラメータをintstrを使って型指定することができます。

import basolato
import app/controllers/some_controller

var routes = newRoutes()

routes.get("/{id:int}", some_controller.show)
routes.get("/{name:str}", some_controller.showByName)
リクエストURL 呼ばれるコントローラー
/1 some_controller.show
/100 some_controller.show
/john some_controller.showByName
/1/john not match and responde 404