春とジャージとちょっと比較してみてください。SpringとJerseyでxmlまたはjsonの両方を返すことはできますか?
メソッドがxmlまたはjsonの両方を返すことができるかどうか不思議です。
xmlにデフォルト設定されている可能性がありますが、jsonを返すオプションのフラグがあります。
可能ですか?
春とジャージとちょっと比較してみてください。SpringとJerseyでxmlまたはjsonの両方を返すことはできますか?
メソッドがxmlまたはjsonの両方を返すことができるかどうか不思議です。
xmlにデフォルト設定されている可能性がありますが、jsonを返すオプションのフラグがあります。
可能ですか?
あなたはJerseyに言及しているので、REST実装を指していると思います。あなたのリソースが適切に設定されていると、JerseyはあなたのコンテンツをXMLとJSONとして自動的にシリアル化します。あなたは自分の@Produces
注釈のためのメディアタイプの広い範囲を示すために持っている:MyBean
が適切にJAXBある
@GET
@Path("/somepath")
@Produces({MediaType.APPLICATION_JSON, MediaType.TEXT_XML})
public MyBean getData() ;
はPOJOを注釈付き。このリソースのエンドポイント定義では、発信者は、彼らがAccept:
ヘッダを経由して何をしたいコンテンツタイプを指定することができます
GET http://www.example.com/somepath
Accept: text/xml
春には、この機能を提供することを目的とContentNegotiatingViewResolverを提供しています。ドキュメントの例:
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="mediaTypes">
<map>
<entry key="atom" value="application/atom+xml"/>
<entry key="html" value="text/html"/>
<entry key="json" value="application/json"/>
</map>
</property>
<property name="viewResolvers">
<list>
<bean class="org.springframework.web.servlet.view.BeanNameViewResolver"/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
</list>
</property>
<property name="defaultViews">
<list>
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />
</list>
</property>
</bean>
はHTMLとJSONの切り替えについて説明したが、これは容易にJAXBまたはいくつかの他のXMLシリアライザを使用して、同様にXMLをサポートするように拡張することができます。さらに読書のために:
私はXMLとジャージーを使用した例を掲載したいが、私はニュージャージーのための豆に慣れていませんよ。
getリクエストで指定されていない場合は、デフォルトでjsonのように最初になりますか? – loyalflow
@ user1361315私の経験では、最初のタイプが選択されますが、動作を確認するためのドキュメントは見つかりませんでした。それぞれ異なるProducesを持つ2つのメソッドがある場合は、Java 7より前の最初のメソッドとJava 7のランダムメソッドを選択します。 –
@perception jsonとhtmlもjsonとXMLのような有効な組み合わせであると仮定します。正しい? –