-
请指点下Restlet2.0 post方法无法调用5
框架是restlet2.0
在应用的appliaciton 配置了2个路由地址。
在soucre写了2个post方法
但是只能进第一个("/sns/basicinfosyn")无法进第二个("/queueinfosyn"),并且第二个地址也路由到第一个去了。
是一个sourece只能有1个post方法,还是我写错了呢?请各位同道中人指点下。
public class UnitviewSycApplication extends Application{ @Override public Restlet createInboundRoot() { Router router = new Router(); router.attach("/sns/basicinfosyn",UnitviewSycSource.class); router.attach("/queueinfosyn",UnitviewSycSource.class); return router; } }
public class UnitviewSycSource extends ServerResource{ @Override protected void doInit() throws ResourceException { // TODO Auto-generated method stub super.doInit(); } @Post("basicinfosyn") public Representation sycWblog(Representation entity){ Representation re = null; JSONObject result = null; try { Form form = new Form(entity); System.out.println("收到同步信息"); } catch (Exception e) { e.printStackTrace(); } re = new StringRepresentation(result.toString(),MediaType.APPLICATION_JSON); re.setCharacterSet(new CharacterSet("UTF-8")); return re; } @Post("queueinfosyn") public Representation sycQueueinfosyn(Representation entity){ Representation re = null; JSONObject result = null; try { Form form = new Form(entity); System.out.println("收到排队同步信息"); } catch (Exception e) { e.printStackTrace(); } re = new StringRepresentation(result.toString(),MediaType.APPLICATION_JSON); re.setCharacterSet(new CharacterSet("UTF-8")); return re; } }
restlet.xml
<?xml version="1.0" encoding="UTF-8"?> <component xmlns="http://www.restlet.org/schemas/2.0/Component" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.restlet.org/schemas/2.0/Component"> <!-- <client protocol="CLAP" /> <client protocol="FILE" /> <client protocols="HTTP HTTPS" /> <server protocols="HTTP HTTPS" port="6080"/> --> <defaultHost> <attach uriPattern="/customers" targetClass="com.rest.test.server.study2.application.CustomerApplication" /> <attach uriPattern="/orders" targetClass="com.rest.test.server.study2.application.OrderApplication" /> <attach uriPattern="/magw" targetClass="com.rest.combat.unitview.application.UnitviewSycApplication" /> <attach uriPattern="/external" targetClass="com.rest.combat.magw.application.MagwQueryApplication" /> </defaultHost> </component>
客户端调用代码如下:
public class UnitviewClient { public static void basicinfosyn(String url){ ClientResource client = new ClientResource(url+"/magw/sns/basicinfosyn"); try { Form form = new Form(); form.add("vcid", "2"); form.add("dialogid","DID0001"); form.add("flowno","FL0001"); form.add("skillno","2"); form.add("priority","222"); String result = client.post(form.getWebRepresentation()).getText(); System.out.println(result); } catch (Exception e) { e.printStackTrace(); } } public static void queueinfosyn(String url){ ClientResource client = new ClientResource(url+"/magw/queueinfosyn"); try { Form form = new Form(); form.add("dialogid", "DID0001"); form.add("flowno","FL0001"); form.add("queuebegintm",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(System.currentTimeMillis())); form.add("queueendtm",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(System.currentTimeMillis())); form.add("queueresult","1"); form.add("operid","61113"); String result = client.post(form.getWebRepresentation()).getText(); System.out.println(result); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { String url = "http://133.37.147.144:6080/restStudy"; //UnitviewClient.basicinfosyn(url); UnitviewClient.queueinfosyn(url); } }
调用UnitviewClient.basicinfosyn(url); 是没问题的。 但是调用UnitviewClient.queueinfosyn(url); 就不行了。并且被路由到第一个方法去了。
2012年11月27日 17:20
目前还没有答案
相关推荐
在Restlet中,资源由一个或多个类实现,这些类处理特定的HTTP方法(如GET、POST、PUT、DELETE等)并返回适当的响应。 3. **引导器(Dispatcher)**: 引导器负责将HTTP请求路由到相应的资源。它可以基于URL路径、...
总的来说,本篇博客通过jQuery和Ajax展示了如何在Restlet 2.0框架下实现CRUD操作,这对于开发RESTful服务和客户端应用程序是非常有价值的实践。理解这些概念和技术,将有助于你构建高效、可扩展的Web服务。
在这个场景中,我们关注的是"restlet2.0+spring3.0+hibernate3.3"的整合,这是一个经典的Java Web开发组合,分别代表了RESTful API、服务层管理和持久化层的优秀实践。 首先,让我们深入了解每个框架的核心特性: ...
标题"restlet-jee-2.0.6.zip_Restlet 2..0_Restlet framework2.0_org.rest"表明这是一个针对Java企业版(Java EE)的Restlet框架2.0.6版本的压缩包,其中包含了与org.restlet相关的组件。 描述中的"restlet框架所需...
在Restlet中,可以通过`post`方法处理此类请求: ```java @Override @Post public void post(Representation entity) { try { // 解析提交的数据 String data = entity.getText(); // 处理数据 // ... // ...
1. **请求构造**: `Restlet Client`允许用户手动输入或选择HTTP方法(GET、POST、PUT、DELETE等),设置URL,添加查询参数,以及定义HTTP头信息。对于POST、PUT等需要提交数据的方法,它支持多种数据格式,如JSON、...
实现一个具体的资源类`StudentResource`,该类需要继承自`javax.ws.rs.core.Resource`,并在其中定义RESTful方法(如`GET`、`POST`等)来处理客户端请求。 #### 四、总结 通过上述步骤,我们可以构建出一个基本的...
REST是一种轻量级的架构风格,广泛应用于互联网应用的开发,它强调通过简单的HTTP方法(如GET、POST、PUT、DELETE)来操作资源,以实现高效、可扩展的网络通信。 RESTlet框架提供了客户端和服务器端的组件,使得...
Restlet是一个轻量级的Java Web服务开发框架,它提供了构建RESTful(Representational State Transfer)应用程序的工具和API。REST是一种架构风格,强调简洁、无状态和可缓存的网络交互,常用于构建高性能、高可用性...
同时,书中还介绍了Restlet框架2.0版,包括其主要特性和整体架构。 **第二部分 Getting ready to roll out**进一步深入,讲解了如何设计和使用Restlet representations,确保安全性,以及如何文档化和管理RESTful ...
Restlet是Java领域的一款开源框架,专门用于构建REST(Representational State Transfer)风格的Web服务。RESTful是一种软件架构风格,设计模式,是基于HTTP协议的Web服务设计原则,强调资源的概念,通过URI来定位...
Restlet是一个开源框架,专门用于构建RESTful(Representational State Transfer)Web服务。REST是一种轻量级的架构风格,常用于构建互联网应用,强调资源的识别、无状态和统一的接口。在本示例中,我们将深入探讨...
通常,这样的项目会有一个简单的服务器端应用,展示了如何使用Restlet API来创建资源、处理HTTP方法(如GET、POST等)并返回响应。 Restlet框架主要由以下几个核心组件构成: 1. **Restlet**: 是框架的基本构建块...
Restlet是一款开源框架,专为构建RESTful Web服务和客户端应用程序设计。REST(Representational State Transfer)是一种轻量级的架构风格,广泛用于构建互联网应用,因为它提供了高效、分布式的系统设计原则。本文...
总的来说,RESTlet自用2可能是一个基于RESTlet 2.0版本并结合Spring框架的个人项目,该项目可能涉及到了RESTful服务的开发、JAX-RS标准的实现以及Spring的集成。相关的学习资料,如"MHT"文件和"PPT",提供了理论知识...
2. **参数管理**:对于需要发送数据的请求(如POST、PUT),Restlet Client提供了友好的界面来添加和编辑查询参数、路径参数和请求体。可以使用JSON、XML或纯文本格式输入数据,确保与服务器端接口匹配。 3. **预览...
在这个实例中,你将学习如何使用Restlet框架结合JAX-RS来定义资源、处理HTTP方法(如GET、POST、PUT、DELETE等)以及如何处理JSON或XML数据。Restlet提供了JAX-RS兼容的组件,使得开发者可以轻松地在Restlet环境中...
《深入理解org.restlet-2.3.0.jar:Java RESTful开发的得力助手》 在Java开发领域,REST(Representational State Transfer)架构风格已经成为构建Web服务的主流选择,而org.restlet-2.3.0.jar则是实现RESTful API...