使用Spring配置通过Apache cxf发布JavaScript客户端

时间:2017-08-23 09:54:55

标签: spring apache cxf static-content

我们正在服务器应用程序中发布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!";
  }
}

0 个答案:

没有答案