我正在设计和开发RESTful API.我采用了一种实用的,面向资源的API方法(面向资源,统一的接口,可寻址性,但没有真正的HATEOAS).但我不确定的一点是如何在对象中处理空值.
我应该在API响应中包含具有空值的字段吗?
例:
{
"fieldA": "AAA",
"fieldB": null
}
Run Code Online (Sandbox Code Playgroud)
或者,如果系统没有这些字段的数据,我是否应该完全忽略这些字段?
例:
{
"fieldA": "AAA"
}
Run Code Online (Sandbox Code Playgroud) 我目前正在构建一个REST API,我希望客户端可以轻松地过滤特定实体的大多数属性.使用QueryDSL与结合春季数据REST(由奥利弗·基尔克一个例子),让我很容易地通过允许客户通过组合是指性质(如查询参数进行过滤得到我想要的东西90% /users?firstName=Dennis&lastName=Laumen).
我甚至可以通过实现QuerydslBinderCustomizer接口来自定义查询参数和实体属性之间的映射(例如,用于不区分大小写的搜索或部分字符串匹配).这一切都很棒,但我也希望客户能够使用范围过滤某些类型.例如关于像出生日期这样的财产,我想做类似下面的事情,/users?dateOfBirthFrom=1981-1-1&dateOfBirthTo=1981-12-31.基于数字的属性也是如此/users?idFrom=100&idTo=200.我觉得这应该可以使用QuerydslBinderCustomizer界面,但这两个库之间的集成没有得到非常广泛的记录.
总结一下,这可能使用Spring Data REST和QueryDSL吗?如果是这样,怎么样?
spring querydsl spring-data spring-data-jpa spring-data-rest
在我们公司,我们正在对Java Development/QA street中的产品进行批判性研究.我们正在研究的产品之一是Apache Continuum.
具有Continuum经验的人(最好还有Jenkins经验)可以解释Apache Continuum的优点和缺点(特别是关于Jenkins)吗?
我的第一印象是:
好处:
缺点:
在我的公司,我们开始使用CheckStyle,FindBugs和PMD来检查我们的代码质量并统一我们的编程风格.这些工具非常有效,但不幸的是它们有一些重叠的规则集.
是否有在线可用的配置删除了重叠规则?
当然,这些默认规则集并不适用于每个项目,但对我们来说这将是一个很好的起点.我们可以采用此默认(非重叠)配置并使其适应我们的样式,而不是首先修剪重复项的规则集.