我们正在服务器应用程序中发布REST-API。 Rest-API使用Spring配置并使用Apache cxf。整个配置在xml和Annotaions中定义。
现在我们有一个使用rest-api的JavaScript客户端,我们希望使用apache cxf中的webserver发布客户端(index.html,bundle.js,...)。
示例:localhost:7564/api/v1/webapp
我们希望使用Apache cxf的嵌入式Web服务器来发布js客户端。没有额外的Tomcat / Apache / ....
有许多带静态内容的exmaples,但这些都没有使用Spring / ApacheCxf / embeddedWebserver和基于xml / Annotation的配置。
有什么想法吗?
在我们的Spring applicationcontext.xml中加载的xml配置:
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xmlns:cxf="http://cxf.apache.org/core"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
http://cxf.apache.org/core http://cxf.apache.org/schemas/core.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://cxf.apache.org/jaxrs http://cxf.apache.org/schemas/jaxrs.xsd">
<!-- Apache CXF initiale Konfiguration -->
<import resource="classpath:META-INF/cxf/cxf.xml" />
<jaxrs:server
id="jaxrsEmbeddedServer"
address="http://0.0.0.0:7564/api/v1" >
<jaxrs:serviceBeans>
<bean class="com.isp.lea.service.web.api.v1.RootApi" />
...
</jaxrs:serviceBeans>
<jaxrs:providers>
<bean
id="cors-filter"
class="org.apache.cxf.rs.security.cors.CrossOriginResourceSharingFilter" />
...
</jaxrs:providers>
<jaxrs:features>
<ref bean="swagger2Feature" />
...
</jaxrs:features>
</jaxrs:server>
Rest-api示例:
@Path( "/" )
@SuppressWarnings( "javadoc" )
public class RootApi extends RestApi
{
@GET
@ApiOperation( value = "Hello World! ",
notes = "Notes...",
tags = { "apm" } )
public String nichts()
{
return "Hello!";
}
}