小编jar*_*daf的帖子

Spring Rest API验证

我有一个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)

spring spring-mvc

6
推荐指数
1
解决办法
5023
查看次数

Flask-Babel在js中本地化了字符串

我对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忽略了这一部分.

任何提示?

python jinja2 babel flask

5
推荐指数
1
解决办法
2970
查看次数

在ArangoDB边缘集合中为多个路径属性创建唯一索引,包括_from和_to属性

我正在尝试为边集合设置唯一约束,以便在两个给定节点之间只能创建某种类型的一个边.问题是,在创建索引时,我似乎无法使用_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)

我不想在创建它之前检查两个节点之间是否存在某种边缘类型.

任何提示?

arangodb

5
推荐指数
2
解决办法
789
查看次数

Spring Data MongoDB:使用存储库进行单元测试

如何在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(域对象)类的所有自定义方法的类.我的测试类看起来像: …

junit4 spring-data spring-data-mongodb

3
推荐指数
1
解决办法
8501
查看次数

JavaScript输出中的CoffeeScript注释

CoffeeScript编译器中是否有任何标志可以将单行咖啡评论添加到Javascript输出中?我前段时间读过它会得到支持但事实证明这个选项仍然无法使用.

javascript coffeescript

3
推荐指数
1
解决办法
1073
查看次数

将String转换为Turtle.FilePath

如何将连接转换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)

haskell haskell-turtle

3
推荐指数
1
解决办法
512
查看次数

最有效的字分区算法?

我一直在寻找一种有效的单词分区算法,但没有太大的成功.例如,给定单词hello我想获得该单词的所有可能分区:{h,e,l,l,o},{h,e,l,lo},{h,e,llo} ,. ..,{你好}.我找到的所有内容都谈到了分词,这不是我的意思.

先感谢您!

algorithm pseudocode

2
推荐指数
1
解决办法
308
查看次数

将cypher查询结果映射到域对象

我刚开始使用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)

neo4j spring-data-neo4j

2
推荐指数
1
解决办法
2707
查看次数

Hibernate验证器单元测试

我一直在阅读关于类验证测试的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)

我不知道如何使用这个自定义验证器而不是示例中提供的默认验证器,并且只检查带注释的字段约束而不是更多的"业务逻辑"约束.关于那个的任何例子或线索?

谢谢!

hibernate spring-mvc hibernate-validator spring-validator

2
推荐指数
1
解决办法
5629
查看次数

Scala:序列差异

找到两个序列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及其子集似乎不是"长"序列的有效解决方案.还有其他想法吗?

scala set difference

2
推荐指数
1
解决办法
341
查看次数

可以将nix安装在/ nix以外的其他位置吗?

一段时间后,我开始耗尽我的开发机器中的磁盘空间(仅128GB).出于这个原因,我决定将本地缓存存储(.npm,.m2,.ivy2等)移动到外部驱动器.

在经历了众所周知的"阴谋"之后,我最近转向Nix进行Haskell开发.不过,我还没有找到改变Nix商店位置的正确方法.

可能吗?

nix

2
推荐指数
4
解决办法
2216
查看次数

Apache Airflow 不会 pickle DAG

我想恢复 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)

这里可能出了什么问题?我在文档中找不到任何参考。

airflow

1
推荐指数
1
解决办法
7577
查看次数

Perl在使用管道时反击

我在尝试捕获简单命令的输出时遇到了一些问题:

$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)

有什么建议?

perl sh backticks

0
推荐指数
1
解决办法
1842
查看次数