gpt4 book ai didi

java - 在哪里可以找到我的 WADL? (CXF)

转载 作者:行者123 更新时间:2023-12-02 08:57:26 25 4
gpt4 key购买 nike

我开发了一个简单的RESTful服务使用 Apache CXF耦合到网络应用程序中并且工作正常。

我可以通过“http://localhost:8080/SpringRestProjectJava/api/books/1234”访问它,并且我也获得了正确的JSON回应。

我的理解是from this linkWADL将自动生成。

正确吗?如果是的话,我怎样才能看到WADL对于这项服务。

这是我的web.xml

  <servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/CustomSpringConfig.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>simplerest</servlet-name>
<servlet-class>org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet</servlet-class>
<init-param>
<param-name>jaxrs.serviceClasses</param-name>
<param-value>org.gsdev.ws.bookservice.BookResource</param-value>
</init-param>
<init-param>
<param-name>jaxrs.providers</param-name>
<param-value>org.gsdev.ws.bookservice.provider.XstreamJsonProvider</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>simplerest</servlet-name>
<url-pattern>/api/*</url-pattern>
</servlet-mapping>

这是我的BookResource.java

@Path( "books/{isbn}" )
public class BookResource {

@GET
@Produces ( "application/json" )
public Book getDetails( @PathParam("isbn") String isbn){

if( isbn.equals( "1234" )){
Book book = new Book();
book.setIsbn(isbn);
book.setTitle("Learning web services by Garry");
return book;
}
return null;
}
}

最佳答案

经过不断的尝试,终于可以成功了。我认为这是由于 CXFNonSpringJaxrsServlet 造成的。我进行了以下更改,并且能够访问自动生成的 WADL

web.xml 的更改

<servlet>
<servlet-name>simplerest</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>simplerest</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>

WEB-INF中添加了cxf-servlet.xml

<jaxrs:server id="bookService" address="/bookservice">
<jaxrs:serviceBeans>
<ref bean="bs"/>
</jaxrs:serviceBeans>
<jaxrs:providers>
<ref bean='jsonProvider' />
</jaxrs:providers>
</jaxrs:server>

<bean id="bs" class="org.gsdev.ws.bookservice.BookResource"/>
<bean id="jsonProvider" class="org.gsdev.ws.bookservice.provider.XstreamJsonProvider"/>

关于java - 在哪里可以找到我的 WADL? (CXF),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30590231/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com