啊! 我的Eclipse陷入无休止的循环:
建筑工作空间永远不会超过58%.
细节:
Google的GWT提供了一个示例应用程序MobileWebApp.他们建议通过SCM的File> Import> Checkout Maven项目将它添加到Eclipse.
我按照本博客中的说明添加了m2e,subclipse和m2e-subclipse连接器的插件.
安装插件后,我通过SCM中的File> Import> Checkout Maven项目和此URL导入了示例项目.
导入似乎完成正常,Eclipse不显示任何标记.但是现在我有了无尽的清新和建筑,并且不知道是什么导致它或如何解决它.
版本:
任何意见是极大的赞赏.
我正在构建RESTful API,并希望为开发人员提供选择在JSON响应中返回哪些字段的选项. 此博客文章显示了几个API(Google,Facebook,LinkedIn)如何允许开发人员自定义响应的示例.这被称为部分响应.
示例可能如下所示:
/users/123?fields=userId,fullname,title
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,API应返回User"123"的userId,fullName和title字段.
我正在寻找如何在我的RESTful Web服务中实现它的想法.我目前正在使用CXF(编辑:和杰克逊),但愿意尝试另一种JAX-RS实现.
这就是我现在拥有的.它返回一个完整的User对象.如何根据"字段"参数返回API调用者在运行时想要的字段?我不想让其他字段为空.我根本不想归还他们.
@GET
@Path("/{userId}")
@Produces("application/json")
public User getUser(@PathParam("userId") Long userId,
@DefaultValue("userId,fullname,title") @QueryParam("fields") String fields) {
User user = userService.findOne(userId);
StringTokenizer st = new StringTokenizer(fields, ",");
while (st.hasMoreTokens()) {
// here's where i would like to select only the fields i want to return
}
return user;
}
Run Code Online (Sandbox Code Playgroud)
更新:
我按照unludo的链接然后链接到这个:http://wiki.fasterxml.com/JacksonFeatureJsonFilter
有了这些信息,我就加入@JsonFilter("myFilter")
了我的域类.然后我修改了我的RESTful服务方法以返回String而不是User,如下所示:
@GET
@Path("/{userId}")
@Produces("application/json")
public String getUser(@PathParam("userId") Long userId,
@DefaultValue("userId,fullname,title") @QueryParam("fields") String fields) {
User user = userService.findOne(userId);
StringTokenizer …
Run Code Online (Sandbox Code Playgroud) 我主要是Java EE开发人员.我被要求探讨在即将到来的网络项目中使用Smalltalk/Seaside的可能性.可以想象,这导致了许多有趣的问题.
一组开发人员如何使用Smalltalk/Seaside实现软件版本控制和版本控制.你可以使用Subversion或Git吗?
根据我的理解,Smalltalk使用图像而不是将每个类保存到它自己的文件中.这会如何影响管理源代码修订的能力,特别是在整个团队中?
非常感谢您提供的任何见解!
移动开发框架是否能够与推送通知一起使用?
细节如下:
我正在研究跨平台移动应用程序开发.使用移动开发框架(如PhoneGap,Titanium等)开发的混合应用程序似乎可以在使用Web技术(HTML5,JavaScript,CSS)进行开发时访问核心电话功能(相机,加速度计,地址簿等).
我们有一个明确的要求是使用推送通知将消息发送到安装了应用程序的设备,即使应用程序已关闭.据我所知,每个平台都支持不同(Apple推送通知与C2DM等).
我假设HTML5通知不符合要求,因为(我假设)HTML5通知(Web套接字,SSE)要求应用程序运行.
我最近花了一些时间熟悉Smalltalk和Seaside.我来自Java EE世界,你可以想象,围绕一些Smalltalk概念进行思考是很困难的.:)
目前,我正在努力了解数据持久性最常见于Smalltalk世界.我作为Java程序员的假设是使用RDMS(即MySQL)和ORM(即Hibernate).据我所知,Smalltalk不是这种情况(至少使用Hibernate).我不一定在寻找与Java EE中的方式最接近的方法.
将数据保存到图像,对象存储或RDMS中是最常见的吗?Smalltalk应用程序使用RDMS甚至是典型的吗?
我知道这里没有一个通用的方法,正确的持久性策略将取决于应用程序的需求(多少数据,并发等).什么是一个好的方法,可以开始简单,但也可以扩展?
我观看过Avi Bryant讨论他用于持久化和扩展DabbleDB的策略的视频.根据我的理解,客户的数据被保存在图像中(每个客户一个图像).这在他的用例中起作用,因为客户不必共享数据.这是一种常见的方法吗?
希望我没有制作这个TLDR.非常感谢Smalltalk人员在我之前的问题中提供的见解.非常感谢.
当用户帐户信息(用户ID,密码,角色等)将在我们自己的后端维护以及何时不与其他站点共享资源时,OAuth是否合理?或者分享使用OAuth的全部意义?
背景:
我正在开发企业SaaS产品,我们正在创建一个RESTful API供我们的前端应用程序使用.API的消费者将是我们开发的浏览器和本机智能手机(iOS和Android)应用程序.由于我们将支持多种客户端类型,因此创建我们所有客户端应用程序都可以使用的RESTful API是有意义的.
当然,我们需要保护这个RESTful API.我们正在考虑使用HTTPS/Basic Auth进行身份验证,但我们知道这种方法存在一些众所周知的缺点.
一些快速研究表明OAuth是强烈推荐的.但我发现OAuth的大部分内容都是在授权网站代表用户共享信息的背景下.
任何信息,如果最受欢迎.
是否有可能选择性地确定@JsonFilter注释何时在运行时使用?
当我不提供过滤器时,我收到JsonMappingException异常(见下文).
背景:
我从最近的StackOverflow帖子中了解到,我可以使用@JsonFilter来动态过滤被序列化的bean属性.这非常有效.添加@JsonFilter("apiFilter")
到我的域类并在我的jax-rs服务中添加此代码(使用CXF实现)后,我能够动态过滤我的RESTful API返回的属性:
// shortened for brevity
FilterProvider filters = new SimpleFilterProvider().addFilter("apiFilter", SimpleBeanPropertyFilter.filterOutAllExcept(filterProperties));
return mapper.filteredWriter(filters).writeValueAsString(user);
Run Code Online (Sandbox Code Playgroud)
问题是有不同的服务调用,我根本不想应用过滤器.在这些情况下,我想返回整个域类而不过滤任何属性.在我只是尝试返回域类的情况下,我得到一个例外,如下所示:
Caused by: org.codehaus.jackson.map.JsonMappingException: Can not resolve BeanPropertyFilter with id 'apiFilter'; no FilterProvider configured
at org.codehaus.jackson.map.ser.BeanSerializer.findFilter(BeanSerializer.java:252)
at org.codehaus.jackson.map.ser.BeanSerializer.serializeFieldsFiltered(BeanSerializer.java:216)
at org.codehaus.jackson.map.ser.BeanSerializer.serialize(BeanSerializer.java:140)
Run Code Online (Sandbox Code Playgroud) 我正在阅读文档,但仍然对Maven如何决定下载哪个版本的插件感到困惑.
例如,考虑这个简单的场景:
mvn archetype:generate
对于Maven in 5 Minutes doc中maven-archetype-quickstart
所描述的.运行命令后,Maven所做的第一件事就是下载一堆插件.
Maven正在下载的一些插件包括:
为什么那些版本?
这些插件的最新版本是:
我查看了maven-clean-plugin 的最新版本元数据,它是2.5
并不是说我一定想强迫Maven使用这些插件的不同版本,我只想了解为什么它会解决这些版本.
我正在使用Apache Maven 3.0.3
我有一个这样的多模块maven项目:
my-parent
--my-domain
--my-service
--my-app <<<这是一个Spring Boot模块
我想mvn spring-boot:run
直接从父模块运行命令,而不必先进入'my-app'目录.
我认为这与配置相关,spring-boot-maven-plugin
但我似乎无法做到正确.
我尝试过以下方法:
使用spring-boot-starter-parent
和以其他方式默认配置spring-boot-maven-plugin
包含在我的应用程序的插件部分.从父级
运行会mvn spring-boot:run
导致:
Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:1.4.2.RELEASE:run (default-cli) on project my-parent: Unable to find a suitable main class, please add a 'mainClass' property -> [Help 1] in the parent module
不要使用spring-boot-starter-parent
.按照所述的方式
定义spring-boot-dependencies
depManagement.在my-parent的 pluginManagement部分中
定义spring-boot-maven-plugin
,并在my-app模块的plugins部分中包含插件.
运行mvn spring-boot:从父运行导致与#1相同的错误:
无法执行目标org.springframework.boot:spring-boot-maven-plugin:1.4.2.RELEASE:在项目上运行(default-cli) my-parent:无法找到合适的主类,请添加'mainClass'属性 - > [帮助1]
不要使用spring-boot-starter-parent
.按照所述的方式
定义spring-boot-dependencies
depManagement.在my-app的插件部分中 …
我正在尝试在JAX-RS Web服务中返回一个图像.我能够通过返回成功地工作,FileInputStream
但我宁愿避免File
为每个请求创建一个.
我正在使用Apache CXF和Jackson(所有其他资源方法都生成application/json).
代码如下所示:
@GET
@Produces("image/png")
public Response getQrCode(@QueryParam("qrtext") String qrtext) {
ByteArrayOutputStream out = QRCode.from(qrtext).to(ImageType.PNG).stream();
return Response.ok(out).build();
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,这产生了可怕的:
org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor:376 - 没有为响应类ByteArrayOutputStream找到消息正文编写器.
这是一个类似帖子的链接,但它没有提到我遇到的"无消息体作者"问题.
我很欣赏如何处理这个问题的任何想法.谢谢!