Hello Tuscany

1.创建maven web 项目
2.pom.xml配置tuscany依赖
3.配置web.xml
4.创建测试接口和实现类
5.配置classpath/META-INF/sca-deployables/*.composite
6.使用REST Client 调用 http://localhost:8080/部署名/testRest/testList1?id=xxx


<!-- pom.xml -->
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-base-runtime</artifactId>
<version>${tuscany.version}</version>
<exclusions>
<!-- 防止旧版本 和新版本冲突 -->
<exclusion>
<groupId>org.apache.neethi</groupId>
<artifactId>neethi</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-rest-runtime</artifactId>
<version>${tuscany.version}</version>
<exclusions>

<exclusion>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-assembly</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-xml</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-xsd</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-rest</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-rmi</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-common-http</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-common-java</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-common-xml</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-contribution</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-core-spi</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-extensibility</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-interface-java</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-interface-wsdl</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-monitor</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-sca-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-web-javascript</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-xsd</artifactId>
</exclusion>

<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
</exclusion>
<!-- -->
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-rmi-runtime</artifactId>
<version>${tuscany.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.tuscany.sca</groupId>
<artifactId>tuscany-binding-rmi</artifactId>
</exclusion>
</exclusions>
</dependency>


<!-- web.xml -->
<filter>
<filter-name>tuscany</filter-name>
<filter-class>
org.apache.tuscany.sca.host.webapp.TuscanyServletFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>tuscany</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


//接口
@Remotable
public interface TestInterface {
@GET
@Path("testList1")
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
List<String> testList(@QueryParam("id") String id);
}


//实现类
public class TestImp implements TestInterface {
@Override
public List<String> testList(String id) {
int i = 0;
List<String> list = new ArrayList<>();
while (i < 10){
list.add(i + "");
i++;
}
return list;
}
}


<!-- .composite -->
<composite xmlns="http://docs.oasis-open.org/ns/opencsa/sca/200912"
xmlns:tuscany="http://tuscany.apache.org/xmlns/sca/1.1"
targetNamespace="http://com.grover.mdm.sca"
name="mdm">
<component name="TestComponent">
<implementation.java class="com.grover.mdm.test.TestImp"/>
<service name="TestInterface" >
<tuscany:binding.rest name="testJaxrsBind" uri="/mdm/testRest">
<tuscany:wireFormat.json />
<tuscany:operationSelector.jaxrs />
</tuscany:binding.rest>
</service>
</component>

</composite>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值