该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2012-03-08
sky_cn 写道 举手之劳而已,在eclipse上有m2插件支持用mvn比较方便,另外感觉单元测试和jetty插件集成也很方便
<dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> <version>1.9.5</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.5</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-xc</artifactId> <version>1.9.5</version> </dependency> 我改成这样才OK |
|
返回顶楼 | |
发表时间:2012-03-09
shenjc2008 写道 总是报这个警告:warning no match for this type name: within [Xlint:invalidAbsoluteTypeName]
2012-03-08 20:18:47,140 INFO [main] (AbstractHandlerMethodMapping.java:188) - Mapped "{[/sol],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public void com.rop.impl.AnnotationRopServiceRouter.test() 2012-03-08 20:18:47,141 INFO [main] (AbstractHandlerMethodMapping.java:188) - Mapped "{[/router],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public void com.rop.impl.AnnotationRopServiceRouter.service(org.springframework.web.context.request.WebRequest,javax.servlet.http.HttpServletResponse) 而且里面的没有一个值,不知道怎么回事 访问接口总是显示: -<error solution="服务目前无法使用" message="服务不可用" code="1"> -<subErrors> -<subError> <code>isv.sample-user-add-service-unavailable</code> <message>调用后端服务sample.user.add抛异常,服务不可用</message> </subError> </subErrors> </error> 你服务应该没有部署成功吧 |
|
返回顶楼 | |
发表时间:2012-03-09
wensen 写道
sky_cn 写道
举手之劳而已,在eclipse上有m2插件支持用mvn比较方便,另外感觉单元测试和jetty插件集成也很方便
<dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> <version>1.9.5</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.5</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-xc</artifactId> <version>1.9.5</version> </dependency> 我改成这样才OK 我把楼主的项目拆分成了3个工程,rop-framework,rop-biz,rop-war 在rop-framework我有如下
<dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-all</artifactId> <version>1.9.5</version> </dependency>其实用jackson-all就行了,不需要那么多包 |
|
返回顶楼 | |
发表时间:2012-03-09
最后修改:2012-03-09
额。大家可以用用resteasy,感觉比lz这个更简单。
|
|
返回顶楼 | |
发表时间:2012-03-09
sky_cn 写道
wensen 写道
sky_cn 写道
举手之劳而已,在eclipse上有m2插件支持用mvn比较方便,另外感觉单元测试和jetty插件集成也很方便
<dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> <version>1.9.5</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.5</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-xc</artifactId> <version>1.9.5</version> </dependency> 我改成这样才OK 我把楼主的项目拆分成了3个工程,rop-framework,rop-biz,rop-war 在rop-framework我有如下
<dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-all</artifactId> <version>1.9.5</version> </dependency>其实用jackson-all就行了,不需要那么多包
在maven官方库貌似找不到jackson-all,所以我也只能这样配置:
<dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.5</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-xc</artifactId> <version>1.9.5</version> </dependency> |
|
返回顶楼 | |
发表时间:2012-03-09
sky_cn 写道 shenjc2008 写道 总是报这个警告:warning no match for this type name: within [Xlint:invalidAbsoluteTypeName]
2012-03-08 20:18:47,140 INFO [main] (AbstractHandlerMethodMapping.java:188) - Mapped "{[/sol],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public void com.rop.impl.AnnotationRopServiceRouter.test() 2012-03-08 20:18:47,141 INFO [main] (AbstractHandlerMethodMapping.java:188) - Mapped "{[/router],methods=[],params=[],headers=[],consumes=[],produces=[],custom=[]}" onto public void com.rop.impl.AnnotationRopServiceRouter.service(org.springframework.web.context.request.WebRequest,javax.servlet.http.HttpServletResponse) 而且里面的没有一个值,不知道怎么回事 访问接口总是显示: -<error solution="服务目前无法使用" message="服务不可用" code="1"> -<subErrors> -<subError> <code>isv.sample-user-add-service-unavailable</code> <message>调用后端服务sample.user.add抛异常,服务不可用</message> </subError> </subErrors> </error> 你服务应该没有部署成功吧 搞清楚了,是我没传appKey等参数的缘故,只是楼主的代码还没判断是否有appKey等参数,所以并没有提示缺少appKey,看来楼主的代码还没写完... |
|
返回顶楼 | |
发表时间:2012-03-09
shenjc2008 写道
sky_cn 写道
wensen 写道
sky_cn 写道
举手之劳而已,在eclipse上有m2插件支持用mvn比较方便,另外感觉单元测试和jetty插件集成也很方便
<dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> <version>1.9.5</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.5</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-xc</artifactId> <version>1.9.5</version> </dependency> 我改成这样才OK 我把楼主的项目拆分成了3个工程,rop-framework,rop-biz,rop-war 在rop-framework我有如下
<dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-all</artifactId> <version>1.9.5</version> </dependency>其实用jackson-all就行了,不需要那么多包
在maven官方库貌似找不到jackson-all,所以我也只能这样配置:
<dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.5</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-xc</artifactId> <version>1.9.5</version> </dependency> 是的,所以改成那样,而且缺少了些楼主的test class。呵呵 |
|
返回顶楼 | |
发表时间:2012-03-09
最后修改:2012-03-09
在maven官方库貌似也找不到db2jcc-9.5.3,只好手工下载了一个db2jcc-9.5.jar,手工添加到maven的repository里面,才搞定。
请问请教各位大牛一个问题,基于Restful的web service的安全问题有什么好的解决方案? |
|
返回顶楼 | |
发表时间:2012-03-09
感觉对于传入空字符串的情况也应该归入“参数缺失”,
如场景: 一个表单,某字段没填写,此时应该提示“参数缺失”而不是“格式不对、非法值、越界等”; 所以认为这段代码: INVALIDE_CONSTRAINT_SUBERROR_MAPPINGS.put("NotEmpty", SubErrorType.ISV_INVALID_PARAMETE); 应该改为 INVALIDE_CONSTRAINT_SUBERROR_MAPPINGS.put("NotEmpty", SubErrorType.ISV_MISSING_PARAMETER); 更加恰当些; 不知道大家怎么看? |
|
返回顶楼 | |
发表时间:2012-03-14
框架搭建的挺好。
个人觉得如下几个方面可有改进的地方 1. 和spring mvc框架绑定。 很多基于Spring框架的web应用,并不采用spring mvc框架,因此就没有必要加载spring mvc相关的lib等。可以采用filter方式来替换spring mvc的拦截器。 2. Service的入口 url 可以增加相关的annotation, 采用struts2 的方式, 一个service 中的多个方法 采用url_method 方式 即是 url 对应servcie类,method 对应相关的方法,比如 CalculateService @UrlMapping(“/operation/CalculateService”) public class CalculateService{ @ServiceMethod(“add”) public int add(int a, int b)…. @ServiceMothod(“multiply”) Public int multiply(int a, int b)… 对应请求的url /operation/CalculateService_add or /operation/CalculateService_multiply 3. 开发人员功能扩展接口 比如像校验这样的功能,光靠annotation 是不够的,比如请求修改数据库记录的restful接口,校验应该包括数据是否在数据库中存在等等,因此应该能方便插入相关的功能。 因此应该采用一些相关的设计模式,比如 责任链模式,在请求真正达到 restful servce之前,开发人员可以对request 或者 response进行相应的处理,也可以直接返回错误结果等。比如有个 IP 限定功能,那么开发人员提供一个 校验的handle, 如果不符合,择直接返回错误给 调用者,这样请求根本都不会到达真正的resutful service 中。 可以采用 axia2的链式处理,我觉得它能很好解决这样的问题 以上建议仅作参考 |
|
返回顶楼 | |