簡體   English   中英

CDL中json中的WADL

[英]WADL in json in CXF

我需要在json中生成REST服務的wadl的json表示形式:

@Description("Service for reading books")
@Path("/bookService")
public interface BookService
{
    @GET
    @Path("/getBook")
    @Produces(
        {"application/xml",
        "application/json"})
    @Description("Get Book for a given id")
    public Book getBook(@QueryParam("bookId") Integer id) throws Exception;
}

在localhost:8080 / services /?_ wadl給我

<application xmlns="http://wadl.dev.java.net/2009/02"
    xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <grammars />
    <resources base="http://localhost:8080/services/">
        <resource path="/bookService" id="books.rs.BookServiceImpl">
            <doc>Service for reading books.</doc>
            <resource path="/getBook">
                <method name="GET" id="getBook">
                    <doc>Get Book for a given id</doc>
                    <request>
                        <param name="bookId" style="query" type="xs:int" />
                    </request>
                    <response>
                        <representation mediaType="application/xml" />
                        <representation mediaType="application/json" />
                    </response>
                </method>
            </resource>
        </resource>
    </resources>
</application>

下面是該服務的服務配置,這里的json模式應該是什么才能獲取wadl的json表示形式

<jaxrs:server id="restContainer" address="/">
        <jaxrs:serviceBeans>
            <ref bean="bookService" />
        </jaxrs:serviceBeans>
        <jaxrs:providers>
            <bean id="jacksonJsonProvider" class="org.codehaus.jackson.jaxrs.JacksonJsonProvider" />
            <bean class="org.apache.cxf.jaxrs.model.wadl.WadlGenerator">
                <property name="linkJsonToXmlSchema" value="true" />
                <property name="schemaLocations">
                    <list>
                    <value>classpath:/json.schema</value>
                   </list>
                </property>
                <property name="useJaxbContextForQnames" value="true" />
                <property name="ignoreMessageWriters" value="true" />
                <property name="addResourceAndMethodIds" value="true" />
            </bean>
            <bean id="jsonProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
                <property name="serializeAsArray" value="true" />
            </bean>
        </jaxrs:providers>
</jaxrs:server>

嘗試對JSON使用?_wadl&_type=xml json和對xml嘗試?_wadl&_type=json xml

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM