0
我正在嘗試實現API版本控制的自定義插件。現在我需要能夠匹配通過請求標頭傳遞的值(即Accept: application/vnd.app.v1+json
)。到目前爲止,我已經實現了以下內容:Phoenix框架模式匹配請求標頭
defmodule UsersApi.Plugs.APIVersion do
import Plug.Conn
@versions ["application/vnd.app.v1+json", "application/vnd.app.v2+json"]
def init(version), do: version
def call(%{req_headers: %{"accept" => version}} = conn, _) when version in @versions do
assign(conn, :version, version)
end
def call(conn, version), do: assign(conn, :version, version)
end
當前不工作,並通過下降到其設計爲指定報頭時,沒有接受後備第二call/2
。我如何與請求標題匹配?
'req_headers'是一個列表;你不能像這樣模式匹配。不過你可以使用'get_req_header/2'。 – Dogbert