SwiftベースのWebフレームワークVapor 2.0ドキュメント(翻訳)HTTP-CORS
3096 ワード
転載は原文のリンクを添付してください.http://blog.fandong.me/2017/08/21/iOS-SwiftVaporWeb28/
前言
以前はずっとJavaバックグラウンドの开発の兴味を持っていましたが、多くのJavaチュートリアルを见たいと思って、iOS开発者として、私は放弃して、后で友达の韩云智VLからこのフレームワークを知って、意外にもSwiftで书いたので、それは私の兴味を燃やしたと言わざるを得ません.VaporはSwiftに基づいて開発されたサービス・エンド・フレームワークで、iOS、Mac OS、Ubuntuで動作します.Swiftがサーバに配備されるように、ECSのサーバシステムをUbuntu 16.04に変更しました.
Vapor 2.0-ドキュメントディレクトリの次のテキストはVapor Docs/HTTP/CoRSから翻訳されています.
CORS
デフォルトでは、Vaporは、
画像の作者:ウィキペディア
きそ
まず、CORSミドルウェアをDropletミドルウェア配列に追加します.
次にアプリケーションを起動すると、
ノートは、他のミドルウェアを投げ出す前にCORSミドルウェアを挿入し、AbortMiddlewareなどを考えていることを確認します.そうしないと、正しいリクエストヘッダが応答に追加されない可能性があります.オリジナルの を許可リクエストの元のリクエストヘッダ で許可する方法 が許可する要求ヘッダ
上級
高级ユーザーはすべての设定とプリセットをカスタマイズすることができて、2つの方法があって、プログラミングの方式を通じて
コンフィギュレーション
そして
メモ
前言
以前はずっとJavaバックグラウンドの开発の兴味を持っていましたが、多くのJavaチュートリアルを见たいと思って、iOS开発者として、私は放弃して、后で友达の韩云智VLからこのフレームワークを知って、意外にもSwiftで书いたので、それは私の兴味を燃やしたと言わざるを得ません.VaporはSwiftに基づいて開発されたサービス・エンド・フレームワークで、iOS、Mac OS、Ubuntuで動作します.Swiftがサーバに配備されるように、ECSのサーバシステムをUbuntu 16.04に変更しました.
Vapor 2.0-ドキュメントディレクトリの次のテキストはVapor Docs/HTTP/CoRSから翻訳されています.
CORS
デフォルトでは、Vaporは、
CORSMiddleware
ミドルウェアCORS-Cross-ORigin Resource Sharingというソースコードリソース共有(CORS-Cross-ORigin Resource Sharing)を実現するためのプラットフォーム間でオープンソースへのアクセス仕様を提供しています.パブリックコンテンツを提供する場合は、CORSを使用して汎用JavaScriptブラウザへのアクセスを開くことを考慮してください.http://enable-cors.org/ミドルウェアの詳細については、ドキュメントのミドルウェア章を参照してください.画像の作者:ウィキペディア
きそ
まず、CORSミドルウェアをDropletミドルウェア配列に追加します.
Config/droplet.json
{
...,
"middleware": [
...,
"cors",
...,
],
...,
}
次にアプリケーションを起動すると、
Config/cors.json
ファイルを追加するよう求められます.Config/cors.json
{
"allowedOrigin": "*",
"allowedMethods": ["GET", "POST", "PUT", "OPTIONS", "DELETE", "PATCH"],
"allowedHeaders": [
"Accept",
"Authorization",
"Content-Type",
"Origin",
"X-Requested-With"
]
}
ノートは、他のミドルウェアを投げ出す前にCORSミドルウェアを挿入し、AbortMiddlewareなどを考えていることを確認します.そうしないと、正しいリクエストヘッダが応答に追加されない可能性があります.
CORSMiddleware
は、ほとんどのユーザに適したデフォルト構成を有し、これらの値は以下のようになる.GET
, POST
, PUT
, OPTIONS
, DELETE
, PATCH
Accept
, Authorization
, Content-Type
, Origin
, X-Requested-With
上級
高级ユーザーはすべての设定とプリセットをカスタマイズすることができて、2つの方法があって、プログラミングの方式を通じて
CORSConfiguration
ファイルを作成して配置することができて、あなたの配置をVaporのJSONプロファイルに入れることができます.以下の2つの方法を见てみましょう.コンフィギュレーション
CORSConfiguration
構造体はCORS
を構成するために使用されます.このようにして初期化することができます.let config = try Config()
config.addConfigurable(middleware: { config in
return CORSConfiguration(
allowedOrigin: .custom("https://vapor.codes"),
allowedMethods: [.get, .post, .options],
allowedHeaders: ["Accept", "Authorization"],
allowCredentials: false,
cacheExpiration: 600,
exposedHeaders: ["Cache-Control", "Content-Language"]
)
}, name: "custom-cors")
そして
custom-cors
をあなたのDropletのミドルウェアの配列に設定します.Config/droplet.json
{
...,
"middleware": [
...,
"custom-cors",
...,
],
...,
}
メモ
CORSConfiguration
の使用可能な値の設定については、ソースコードのドキュメントを参照してください.