1

私は次のチュートリアルに従おうとしています:http: //pfelitti87.blogspot.be/2012/07/rest-services-with-spring-3-xml-json.html

これは基本的に、SpringControllerの応答をJSON\XMLに自動的に変換する方法に関するチュートリアルです。後者はxstreamを使用します。

そして、私の構成は彼とまったく同じです(明らかにスキャンするパッケージを除いて)。

そして、私のJSON URLは私が期待するように見えますが、.xmlURLは私が期待するものを返しません。それでは始まります:

    <?xml version="1.0"?>
    <org.springframework.validation.BeanPropertyBindingResult><nestedPath/>
    <nestedPathStack serialization="custom"><unserializable-parents/><vector>
<default><capacityIncrement>0</capacityIncrement><elementCount>0</elementCount>
<elementData><null/><null/><null/><null/><null/><null/><null/><null/><null/><null/></elementData></default></vector></nestedPathStack><objectName>coursesTakenForDealer</objectName>-<messageCodesResolver class="org.springframework.validation.DefaultMessageCodesResolver"><prefix/><formatter class="org.springframework.validation.DefaultMessageCodesResolver$Format">PREFIX_ERROR_CODE</formatter></messageCodesResolver>

そして、最後に向かって実際に返されたオブジェクトのみが含まれます。

@XmlAttributeさらに、と@XmlElement注釈を無視しているようです。

Personクラスに@XmlAttributeとしてマークされた名前インスタンス変数がありますが、次のように変換されます。

<person>
    <name>Jack</name>
</person>

this \ referenceをより良いチュートリアル(おそらくjaxbを使用)に戻す方法についてのアドバイスをいただければ幸いです。

編集:要求に応じて、私の出力の一部(ここに完全には収まりません)。を使用して呼び出されます:http://localhost:8080/restTestApp/interestingPeople.xml

edit2:コントローラー:

@Controller
public class InterestingPeopleController {


    @RequestMapping(value="interestingPeople", method = GET)
    public InterestingPeople getCoursesTakenByDealers() {   
        InterestingPeople interestingPeople;
        //some logic (service calls etc) to fill it in
        return interestingPeople;
    }
}

編集3:私はこれを追加することで解決することができました:

<property name="supportedClasses">
    <list>                             
        <value>com.jackdans.model.InterestingPeople</value>
    </list>
</property>

私のXStreamMarshallerBean構成に。

4

0 に答える 0