如何使用Java返回部分JSON响应?

我正在构build一个RESTful API,并希望为开发人员提供选项,以便select在JSON响应中返回哪些字段。 这篇博客文章展示了几个API(Google,Facebook,LinkedIn)允许开发者自定义响应的例子。 这被称为部分响应。 一个例子可能是这样的: /users/123?fields=userId,fullname,title 在上面的例子中,API应该返回用户“123”的userId,fullName和title字段。 我正在寻找如何在我的RESTful Web服务中实现这个想法。 我目前正在使用CXF(编辑:和jackson),但愿意尝试另一个JAX-RS实现。 这是我目前所拥有的。 它返回一个完整的用户对象。 我怎样才能返回API调用者想要在运行时基于“字段”paramaeter的字段? 我不想让其他领域为空。 我只是不想退还它们。 @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 […]

谷歌浏览器 – 覆盖网页加载之间的白色空白页面

我正在寻找不同的Chrome浏览器应用程序,使我的网页更加黑暗/倒置,以减less眼睛疲劳,我发现一些应用程序的工作,但唯一剩下的,这些应用程序似乎并没有覆盖,是白色的空白页。 当一个新的页面被加载,Chrome浏览器首先显示一个白色的空白页面,而页面正在加载,然后显示网站的内容。 有没有办法来覆盖这个页面来说黑色? 目前,每当我点击一个链接或打开一个新的网页,屏幕从深色(通过倒转/变暗的页面应用)到白色的空白屏幕短暂的一秒,然后新的页面再次加载一个黑暗的颜色。 每次加载新页面时,屏幕就像一个“白色闪光灯”,并导致进一步的眼睛疲劳。 这就是为什么我想知道是否有办法将这个白色重写为黑色。 PS。 如果这个post是在错误的论坛,我很抱歉,谷歌Chrome开发者页面有一个链接到论坛,把我带到这里:) 谢谢。

为什么在C ++ 11或C ++ 14中没有安装迭代器?

C ++ 98有front_inserter , back_inserter和inserter ,但是在C ++ 11或者C ++ 14中似乎没有这些版本的版本。 有没有技术原因,我们不能有front_emplacer , back_emplacer和emplacer ?

为什么和什么时候Liquibase?

我试图在堆栈溢出search这个问题,但无法find任何问题。 我是新的liquibase,想知道为什么liquibase? 何时应该在项目中使用液化石油气? 我知道这是为了将所有的数据库更改保留在一个地方,但类似的可以通过在一些存储库系统中创build一个简单的sql文件并不断更新。

Swift 2.0最低系统版本要求(部署目标)

所以,Swift 2.0即将推出Xcode 7,使用Swift 2.0所需的最低版本的iOS / OS X系统是什么?

如何使用GPU进行math

我正在寻找利用GPU来处理一些方程式,但不知道如何从C#中访问它。 我知道XNA和DirectX框架允许您使用着色器来访问GPU,但是如何在没有这些框架的情况下访问它?

Eclipse代码鸟瞰插件

我想知道,如果有一个代码鸟视图的Eclipse插件(预览,可视化,小地图,但它可能被称为)? 我的意思是,当你在一个小的预览窗口看到你的代码,并可能使用这个窗口滚动。 等等,我会告诉你… 喜欢这个。 (请参见白色矩形所在的列)。

CQRS体系结构中的域validation

危险…史密斯博士危险…前面的哲学职位 这篇文章的目的是为了确定是否将validation逻辑放在我的域实体之外(实际上是聚合根)实际上给了我更多的灵活性,或者它是kamikaze代码 基本上我想知道是否有更好的方法来validation我的域实体。 这是我打算这样做,但我希望你的意见 我考虑的第一个方法是: class Customer : EntityBase<Customer> { public void ChangeEmail(string email) { if(string.IsNullOrWhitespace(email)) throw new DomainException(“…”); if(!email.IsEmail()) throw new DomainException(); if(email.Contains(“@mailinator.com”)) throw new DomainException(); } } 我实际上不喜欢这个validation,因为即使当我将validation逻辑封装在正确的实体中时,这违反了打开/closures原则(打开以进行扩展,但是closures以进行修改),并且我发现违反这个原则,代码维护变成当应用程序复杂化时,真正的痛苦。 为什么? 由于领域规则的变化比我们想要承认的要多,而且如果规则隐藏在这样一个实体中,他们很难testing,很难阅读,很难维护,但是为什么我不喜欢这个方法是:如果validation规则改变,我必须来编辑我的域实体。 这是一个非常简单的例子,但在RL中validation可能会更复杂 所以遵循Udi Dahan的哲学, 明确的angular色以及Eric Evans在蓝皮书中的build议,接下来的尝试是实现规范模式,像这样 class EmailDomainIsAllowedSpecification : IDomainSpecification<Customer> { private INotAllowedEmailDomainsResolver invalidEmailDomainsResolver; public bool IsSatisfiedBy(Customer customer) { return !this.invalidEmailDomainsResolver.GetInvalidEmailDomains().Contains(customer.Email); } } 但是后来我意识到,为了遵循这种方法,我必须首先对实体进行变异,以便传递被赋值的值 […]

为什么Eclipse使用Cp1252编码?

道歉,如果这是一个非常业余的问题! 我知道Eclipse使用Cp1252作为其编码的默认值。 我最近创build了一个使用哈希映射将字母input转换为盲文的程序。 为此,我必须将编码方法更改为UTF-8。 我对这一点知之甚less,但是我读过的所有内容都表明UTF-8可以代表Unicode中的每个字符,并且有一个更大的识别符号库。 为什么这不是Eclipse的首选编码风格?

如何使SmartScreen筛选器信任自签名证书

微软在Windows 8下的SmartScreen Filter是一个小开发者最糟糕的噩梦。 虽然我意识到最终用户的好处以及阻止恶意程序在最终用户的计算机上安装的有效性,但我和许多其他开发人员不愿意支付代码签名证书的年度更新费用,更不用说EV代码签名证书。 此外,当为内部使用而开发的产品使用来自内部CA的可信证书进行签名(存储在Trusted Publishers商店中)时,它们仍然是filter的过热行为。 开发人员和pipe理员曾经能够通过在受信任的发布者商店中安装发布者代码签名证书来禁用警告和提示。 创意开发者可以在安装有签名的前提条件并且用付费的Authenticode代码签名证书来安装他们的自签代码签名证书。 之后,由发布者签名的程序将被信任,并且不会触发SmartScreen筛选器警报。 从本质上讲,一旦被信任,出版商就免除了经常性费用。 SmartScreenfilter(以及它在Windows 8中作为OS“function”)的最新变化清楚地表明,Microsoft希望您购买代码签名证书,而不是创造性地解决他们为您创build的问题。 有没有人发现一种新方法来信任默认使用自签名代码签名证书的发布者(即不显示提示)? 在完全closuresfilter的情况下,最终用户可以通过什么方式让SmartScreen筛选器始终相信自签名证书? 请注意,购买代码签名证书不是这个问题的答案。 我正在寻找一种方法来让SmartScreen筛选器信任不从外部来源购买证书的发布商,而是在自己的组织内部发布自己的证书。 更新:我想我可能find了一个解决方法! 在MSDN上 ,可以在Windows 8和Internet Explorer 10上针对列为“受信任的站点”的站点禁用SmartScreen筛选器。 如果有人可以validation这种方法适用于从Windows 8中的可信站点下载并运行的安装程序,那将是非常感谢,并将帮助许多ISV和内部开发团队。 这也是解决这个问题所需的解决方法。 受信任的站点可以通过组策略来configuration,因此从那里可以很简单。 以编程方式closures“受信任的站点区域”的SmartScreen筛选器可以通过为机器或HKCU \ Software \ Policies \ Microsoft \ Windows设置HKLM \ Software \ Policies \ Microsoft \ Windows \ CurrentVersion \ Internet Settings \ Zones \ 2!2301来实现\ CurrentVersion \ Internet […]