2016-10-04 1 views
1

Phoenixでは、文字列をXMLレスポンスとして送信する標準的な方法は何ですか?send_resp()とput_resp_content_type()はPhoenixで文字列をXMLとして送信する標準的な方法ですか?

私はうまく動作する次のコードがありますが、私はレンダリングなどを使用する必要がありますようですか?

conn 
|> put_resp_content_type("text/xml") 
|> send_resp(200, some_string_with_xml) 

これを行うより標準的な方法がありますか?

+0

私はそれを行う "慣用的な"方法があるとは思わない。 JSON(Phoenix.Controller.json/2)に似たようなことをするヘルパーがいますが、[ソースコード](https://github.com/phoenixframework/phoenix/blob/v1.2.1/lib/)を見ると、 phoenix/controller.ex#L182)それは本質的にあなたがそこでやっていることをしています。私が知る限り、XMLのためのすぐれたものは何もありません。 –

+0

恐ろしい、ありがとう! – buffpojken

答えて

2

フェニックスではxmlを直接サポートしていないので、plugの公開に戻す必要があります。あなたはREADMEのこんにちは世界の例で見ることができるように、これは古典的な方法です。

defmodule MyPlug do 
    import Plug.Conn 

    def init(options) do 
    # initialize options 

    options 
    end 

    def call(conn, _opts) do 
    conn 
    |> put_resp_content_type("text/plain") 
    |> send_resp(200, "Hello world") 
    end 
end 
+0

参考にしていただきありがとうございます! – buffpojken

関連する問題