我有一个Spring 3.2应用程序,我在这个基于Spring MVC的例子后创建了一个REST API .现在,我在尝试验证不同http方法的某些数据时遇到了一些问题(例如:POST和PUT方法).
这将是一个非常简化的例子:
public class myItem{
@NotEmpty
private String foo;
@NotEmpty
private String bar;
public myItem(String foo){
this.foo = foo;
this.bar = "";
}
public myItem(String foo, String bar){
this.foo = foo;
this.bar = bar;
}
/* getters & setters omitted */
}
Run Code Online (Sandbox Code Playgroud)
此POJO在不同的请求方法中重用.
这将是我简化的控制器:
@Controller
@RequestMapping("/api/item")
public class myItemController{
@RequestMapping(value="/", method=RequestMethod.POST)
@ResponseStatus(HttpStatus.CREATED)
public @ResponseBody myItem createItem(@Valid @RequestBody myItem item){
/* do some stuff */
return item; //inserted item returned
}
@RequestMapping(value="/", method=RequestMethod.PUT)
@ResponseStatus(HttpStatus.NO_CONTENT)
public …Run Code Online (Sandbox Code Playgroud) 我对Python和Flask都很陌生(使用Jinja2作为模板引擎)我并不确定我是以正确的方式做到这一点.我正在使用Flask-Babel扩展来为我的Web应用程序添加i18n支持.我想从我的js代码中获取本地化字符串,例如:
var helloWorld = gettext('Hello, world');
console.log(helloWorld); //should log a localized hello world message
Run Code Online (Sandbox Code Playgroud)
为此,我配置了babel(babel.cfg):
[python: **/**.py]
[jinja2: **/**.html]
extensions=jinja2.ext.autoescape,jinja2.ext.with_
[javascript: **/**.js]
encoding = utf-8
Run Code Online (Sandbox Code Playgroud)
它的初始化是(为简单起见省略了导入):
#main Flask app
app = Flask(__name__)
#localization
babel = Babel(app)
LANGUAGES = {
'ca': 'Catalan',
'en': 'English',
'de': 'Deutsch',
'es': 'Español',
'fi': 'Finnish',
'it': 'Italian'
}
@babel.localeselector
def get_locale():
return request.accept_languages.best_match(LANGUAGES.keys())
#some more stuff...
Run Code Online (Sandbox Code Playgroud)
Babel在构建POT/PO语言文件时识别该字符串,但似乎我无法从js代码访问这些本地化字符串,因为未定义gettext函数.似乎Jinja2忽略了这一部分.
任何提示?
我正在尝试为边集合设置唯一约束,以便在两个给定节点之间只能创建某种类型的一个边.问题是,在创建索引时,我似乎无法使用_from和_to属性作为路径属性.到目前为止我尝试了什么:
db._collection('edges').ensureUniqueConstraint('_from', '_to', 'type');
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
[ArangoError 10: bad parameter]
Run Code Online (Sandbox Code Playgroud)
我不想在创建它之前检查两个节点之间是否存在某种边缘类型.
任何提示?
如何在Spring Data MongoDB中使用存储库方法构建一些测试?我想为我的测试设置测试数据库,因为我不想为此目的使用生产数据库.应该可能,但我不知道.这是我的应用程序上下文:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mongo="http://www.springframework.org/schema/data/mongo"
xmlns:neo4j="http://www.springframework.org/schema/data/neo4j"
xsi:schemaLocation=
"http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/data/mongo
http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/data/neo4j
http://www.springframework.org/schema/data/neo4j/spring-neo4j.xsd">
<!-- Default bean name is 'mongo' -->
<mongo:mongo host="${mongo.host}" port="${mongo.port}">
<mongo:options connections-per-host="8"
threads-allowed-to-block-for-connection-multiplier="4"
connect-timeout="${mongo.connect-timeout}"
max-wait-time="${mongo.max-wait-time}"
auto-connect-retry="true"
socket-keep-alive="true"
socket-timeout="${mongo.socket-timeout}"
slave-ok="true"
write-number="1"
write-timeout="0"
write-fsync="true"/>
</mongo:mongo>
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
<constructor-arg ref="mongo" />
<constructor-arg name="databaseName" value="${mongo.db}" />
</bean>
<context:component-scan base-package="domain.company.group.project.data.repositories"/>
<!-- MongoDB repositories -->
<mongo:repositories base-package="domain.company.group.project.data.repositories.mongodb"/>
<!-- some other stuff -->
</beans>
Run Code Online (Sandbox Code Playgroud)
让我们说我有一个简单的存储库如下:
public interface LocationRepository extends MongoRepository<Location, String>, LocationRepositoryCustom {
}
Run Code Online (Sandbox Code Playgroud)
其中LocationRepositoryImpl是实现某个Location(域对象)类的所有自定义方法的类.我的测试类看起来像: …
CoffeeScript编译器中是否有任何标志可以将单行咖啡评论添加到Javascript输出中?我前段时间读过它会得到支持但事实证明这个选项仍然无法使用.
如何将连接转换String为乌龟FilePath?例如,以下程序尝试读取一些文本文件,将它们连接成一个新文件并删除旧文件.虽然OverloadedStrings扩展已启用但它似乎不起作用:
{-# LANGUAGE OverloadedStrings #-}
module Main where
import System.Environment
import System.IO
import Control.Monad
import Turtle
import Turtle.Prelude
import qualified Control.Foldl as L
main :: IO ()
main = do
params <- getArgs
let n = read $ params !! 0
k = read $ params !! 1
-- Some magic is done here
-- After a while, read generated .txt files and concatenate them
files <- fold (find (suffix ".txt") ".") L.list
let …Run Code Online (Sandbox Code Playgroud) 我一直在寻找一种有效的单词分区算法,但没有太大的成功.例如,给定单词hello我想获得该单词的所有可能分区:{h,e,l,l,o},{h,e,l,lo},{h,e,llo} ,. ..,{你好}.我找到的所有内容都谈到了分词,这不是我的意思.
先感谢您!
我刚开始使用Neo4j和Spring Data,我无法恢复图形对象并将它们转换回域对象.我必须说我以前没有那种数据库的经验.
就这样,我正在使用Spring Data存储库.对于标准查询,存储库代码是自动生成的,但我想定义一些自定义方法,因此我按照此处的说明创建了自定义存储库.
例如,我希望能够从两个特定节点之间的给定边缘更新某个属性值(在这种情况下为currentValue属性)(searchByUserName是我的节点实体中代表用户的先前定义的索引).我在自定义存储库实现中使用Neo4j模板中的查询方法,如下所示:
public class TwitterUserRepositoryImpl implements TwitterUserRepositoryCustom{
@Autowired
private Neo4jOperations neo4jTemplate;
public void updateRelationshipValueByUserName(
String userAUserName, String userBUserName, double value){
HashedMap params = new HashedMap();
params.put("userAUserName", userAUserName);
params.put("userBUserName", userBUserName);
params.put("value", value);
String query = "START x=node:searchByUserName(userName = {userAUserName}), " +
"y=node:searchByUserName(userName = {userBUserName})" +
" MATCH (x)-[r:FOLLOWS]->(y)" +
" SET r.currentValue = {value}" +
" RETURN r";
Result<Map<String, Object>> relationships = neo4jTemplate.query(query, params);
/* let's try to recover the relationship entity and do some more …Run Code Online (Sandbox Code Playgroud) 我一直在阅读关于类验证测试的Hibernate文档,我没有找到任何解决我的"问题"的方法.我想测试我的自定义验证器.例如,假设我有以下类:
public class User {
@NotEmpty(message = "{username.notSpecified}")
private String username;
@NotEmpty
@Size(min = 6, message = "{password.tooShort")
private String password;
@NotEmpty(message = "{city.notSpecified}")
private String city;
/* getters & setters omitted */
}
Run Code Online (Sandbox Code Playgroud)
我想检查每个用户是否位于巴塞罗那市.为此,我将自定义用户验证器实现如下:
public class UserValidator implements Validator {
@Autowired
private Validator validator;
@Override
public boolean supports(Class<?> clazz) {
return User.class.equals(clazz);
}
@Override
public void validate(Object target, Errors errors) {
validator.validate(target,errors);
User user = (User) target;
if(!(user.getCity().equals("Barcelona"))){
errors.rejectValue("city", "city.notValid", "Invalid city");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道如何使用这个自定义验证器而不是示例中提供的默认验证器,并且只检查带注释的字段约束而不是更多的"业务逻辑"约束.关于那个的任何例子或线索?
谢谢!
找到两个序列A和B的差异(补码)D的最佳方法是什么,其中D = A-B是属于A但不属于B的所有对象的序列.例如:
val A = Seq((1,1), (2,1), (3,1), (4,1), (5,1))
val B = Seq((1,1), (5,1))
Run Code Online (Sandbox Code Playgroud)
要得到:
val D = Seq((2,1), (3,1), (4,1))
Run Code Online (Sandbox Code Playgroud)
用B元素过滤A及其子集似乎不是"长"序列的有效解决方案.还有其他想法吗?
一段时间后,我开始耗尽我的开发机器中的磁盘空间(仅128GB).出于这个原因,我决定将本地缓存存储(.npm,.m2,.ivy2等)移动到外部驱动器.
在经历了众所周知的"阴谋"之后,我最近转向Nix进行Haskell开发.不过,我还没有找到改变Nix商店位置的正确方法.
可能吗?
我想恢复 DAG 对象,以便在 DAG 运行后更好地检查某些依赖关系(例如特定运算符消耗了哪些数据)。我用作postgres:9.6元数据数据库后端。
这似乎是通过donot_pickle配置变量支持的,默认情况下指示所有 DAG 都必须被 pickle:
[core]
# Whether to disable pickling dags
donot_pickle = False
Run Code Online (Sandbox Code Playgroud)
我有一些可用的测试 DAG (3),但它们对应的pickle_id是空的:
> select pickle_id from dag;
pickle_id
---------
(3 rows)
Run Code Online (Sandbox Code Playgroud)
Pickles 表也是空的:
> select count(*) from dag_pickle;
count
------
0
(1 row)
Run Code Online (Sandbox Code Playgroud)
这里可能出了什么问题?我在文档中找不到任何参考。
我在尝试捕获简单命令的输出时遇到了一些问题:
$timeTotal = `echo $timeTotal + $time | bc -l`;
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
sh: +: not found
sh: Syntax error: "|" unexpected
Run Code Online (Sandbox Code Playgroud)
这个命令在bash中运行得很好,但实际上似乎正在使用sh.在一开始我认为问题是管道使用(虽然总和没有得到很好的解释).令我困惑的是,同一脚本中的以下命令不会导致错误并且正常工作:
my $time = `cat $out.$step | bc -l`;
Run Code Online (Sandbox Code Playgroud)
有什么建议?
spring-mvc ×2
airflow ×1
algorithm ×1
arangodb ×1
babel ×1
backticks ×1
coffeescript ×1
difference ×1
flask ×1
haskell ×1
hibernate ×1
javascript ×1
jinja2 ×1
junit4 ×1
neo4j ×1
nix ×1
perl ×1
pseudocode ×1
python ×1
scala ×1
set ×1
sh ×1
spring ×1
spring-data ×1