Wie leitet man in Phoenix Framework einen benutzerdefinierten Medientyp in Accepts?Phoenix Framework: Wie man den benutzerdefinierten Medientyp routet?
Phoenix's own code comments geben Sie an, das folgende ist alles, was notwendig ist-plus eine Neukompilierung von Deps, obwohl die Notwendigkeit dafür entgeht mir. Aber dies scheint nicht zu funktionieren:
config.exs:
[…]
config :plug, :mimes, %{
"application/vnd.api+json" => ["json-api"]
}
router.ex:
pipeline :api do
plug :accepts, ["json-api"]
end
[…]
scope "/", SomeApp do
pipe_through :api
[…]
some_test.ex:
setup do
conn = conn() |> put_req_header("accept", "application/vnd.api+json")
{:ok, conn: conn}
end
Alle Anfragen Tests (mit conn von Setup) erhalten HTTP 406 Antworten.
Sie ordnen "" api-json "' in Ihrer Konfiguration zu, aber Sie übergeben '" json-api "' an Ihren Accept-Plug. Tippfehler in der Frage oder Tippfehler in Ihrem Code? Das scheint der wahrscheinlichste Täter zu sein –
@ChrisMcCord Danke, dass ich darauf hingewiesen habe, nur ein Tippfehler in der Frage, fürchte ich, d. H. Der Code, den ich getestet habe, hat dieses Problem nicht und funktioniert immer noch nicht. Die Frage wurde korrigiert. –
Können Sie angeben, "scheint nicht zu funktionieren?". Was funktioniert nicht? Was hast du erwartet und was bekommst du? Stellen Sie außerdem sicher, dass Ihre Abhängigkeit neu kompiliert wurde, im Zweifelsfall 'rm -rf _build'. –