我正在使用Spring Framework作为我的服务API和org.joda.time.DateTime日期时间解析.具体来说,我正在使用ISOFormatter.dateOptionalTimeParser(),它允许用户灵活地使用日期,或日期和时间,这是一个要求.
相信我,我已经看到了所有这些相关的问题,我已经可以告诉人们会指出我,例如这个和这个,等等.
以前,我正在使用日期String,然后使用上面提到的服务层中的joda格式化程序处理它,但现在我想在控制器中添加请求验证,这意味着如果请求在语法上不正确,请求不应该甚至去服务层.
我已经尝试过使用多种变体@DateTimeFormat(iso = ISO.DATE_TIME),以及pattern在没有运气的情况下指定格式的字符串,无论如何.
@RequestMapping(value = URIConstants.TEST_URL, method = RequestMethod.GET)
public @ResponseBody String getData(@RequestParam(required = false) DateTime from,
@RequestParam(required = false) DateTime to) {
return dataService.fetchDataFromDB(from, to);
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能确保我从用户那里得到的日期符合ISO 8601 dateOptionalTime格式?我可以应用多种模式来实现这个吗?
我有一个用户结构,其中包含诸如密码之类的敏感字段:
type User struct {
UID string `json:"uid" binding:"required"`
Password string `json:"password" binding:"required"`
EmailAddress string `json:"email" binding:"required"`
}
Run Code Online (Sandbox Code Playgroud)
现在,我希望能够使用此结构来注册用户并进行更新,删除以及查看。我不希望将密码序列化以供查看。我当然可以制作一个自定义编组,但这是唯一的方法吗?我尝试使用该json:"-"选项,但是这也会在取消编组时将其忽略,这是我不希望的。有没有更好的办法?
编辑: 为了让你们中的一些人放心,我当然不会以明文形式存储密码。它是密码的bcrypt哈希,但仍然如此。搜索用户时,我不希望它返回。
我正在研究 Electron,有一件事难倒了我。因为我知道在正常情况下你无法从浏览器访问本地文件系统 - 尽管有扩展等 - Electron 在使用 Chromium 浏览器时如何做到这一点?
我缺少什么?它不会浏览器化应用程序吗?
我正在使用 lua 脚本来获得ZINTERSTORE结果。我想要的是能够在调用中给 lua 一个动态数量的 zsets,这样:
redis.pcall('ZINTERSTORE', result, n, keys[1], keys[2], keys[3], keys[4], keys[5], 'AGGREGATE', 'MAX')
Run Code Online (Sandbox Code Playgroud)
变成这样:
redis.pcall('ZINTERSTORE', result, n, dynamic_key_list, 'AGGREGATE', 'MAX')
Run Code Online (Sandbox Code Playgroud)
Lua 的table.getn函数让我得到 size n。这里的问题是,如果dynamic_key_list是一个列表,那么 redis 会很早就大声喊叫:
Lua redis() command arguments must be strings or integers
Run Code Online (Sandbox Code Playgroud)
我已经看到了这个可能的解决方案,但我不想每次都遍历表并进行 redis 调用,因为我可能有 10-15 个键,这是我负担不起的开销。还有其他方法吗?
chromium ×1
electron ×1
go ×1
java ×1
javascript ×1
jodatime ×1
json ×1
lua ×1
redis ×1
spring-mvc ×1