2016-11-08 5 views
1

Servicestack Rest Filesサービスをテストしています。 angularjsから呼び出してhtmlファイルを要求すると、結果はjson形式ではなく標準のservicestack html形式に戻ります。 ?format = jsonを追加しても正しく動作しません。私はhtmlファイルをブラウズしようとしていて、それをエースエディタにロードしようとしています。私はServicestackが応答タイプと混同していると思います。私はチェックし、Content-Typeは要求を行う際にクライアント側でapplication/jsonに設定されています。htmlの拡張子を持つファイルを返すときにServicestackが間違ったコンテンツタイプを返す

答えて

2

私はあなたが作っているの要求があると仮定しています:

GET /files/myfile.html 

.htmlファイル拡張子が内蔵されServiceStackにおける登録フォーマットそれはあなたが明示的にしていると仮定してあるので、それはHTMLをreturingていますHTMLフォーマットでAPIを要求しています。あなたが例えば、のQueryStringにファイルPathを指定することによって、この曖昧さを避けることができ

GET /files?Path=myfile.html 

Acceptヘッダに指定されている最も適切な形式を使用して、それを返送するServiceStackに指示します。あなたはまた、明示的にパス情報、例えばの終わりに{.ext}を追加することでフォーマットを指定することができます好む場合は:

GET /files.json?Path=myfile.html 

別のオプション、あなたがServiceStackの組み込みHTMLのサポートを使用していない場合は削除することですHtmlFormatプラグイン、例えば:.html拡張子は良性となりますので.htmlもはや登録済みのフォーマットをしないだろうWhicih

Plugins.RemoveAll(x => x is HtmlFormat); 

注:取り外すHtmlFormatもビルトイン削除し、そのauto HTML pages

のようなHTMLの機能
関連する問題