小编moh*_*nag的帖子

定义全局参数

我正在准备我的API文档,而不是自动生成.我有标题应该发送到所有API,不知道是否可以为整个API全局定义参数?

其中一些标题是静态的,有些必须在调用API时设置,但它们在所有API中都是相同的,我不想复制和粘贴每个API和每个方法的参数,因为这不可维护未来.

我通过API定义看到了静态头文件,但是没有单个文档可以说明某人如何设置或使用它们.

这有可能吗?

swagger

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

在jQuery UI对话框中触发按钮单击

这是一个非常简单的问题,我没有找到答案.我有一个对话框,在对话框中发生的某些事件中,我想单击其中一个对话框按钮.定义对话框的代码是:

var dialog = $('<div>').dialog({
    autoOpen: false,
    title : title,
    resizable : false,
    buttons : {
        'CANCEL' : {
            text : messages.Cancel,
            click : function(){$(this).dialog('close')}
        },
        'OK' : {
            text : messages.Ok,
            click : okButtonCallback
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

在我的事件中,我可以得到对话框,找到按钮,但我无法触发点击事件,并且正确的参考传递为此.我这样做:

buttons = dialog.dialog('option', 'buttons');
Run Code Online (Sandbox Code Playgroud)

我有按钮,每个按钮都有点击功能.如果直接调用或通过触发器('click')调用,它们会调用按钮的click事件,但是按钮本身不是对话框对象.我看到了某个地方可以打电话

buttons['OK'].apply(dialog);
Run Code Online (Sandbox Code Playgroud)

但我的按钮绝对没有应用功能!

我不知道我能做什么!

jquery jquery-ui

19
推荐指数
3
解决办法
2万
查看次数

maven项目作为gradle项目中的依赖项

我有一个项目使用Gradle作为构建工具,第二个子项目使用Maven的POM.我没有在子项目上更改构建工具的自由.

我想要实现的是将我的项目与Maven POM一起添加为我的Gradle项目的依赖项.

如果root(当前目录)是我的项目与Gradle并包含build.gradle,则Maven项目位于vendor/other-proj/该目录下的POM文件下.

我在我的build.gradle文件中尝试了这些变体:

第一次尝试:

include("vendor/other-proj/")
project(':other-proj') {
    projectDir = new File("vendor/other-proj/pom.xml")
}

dependencies {
    compile project(':other-proj')
}
Run Code Online (Sandbox Code Playgroud)

第二次尝试:

dependencies {
    compile project('vendor/other-proj/')
}
Run Code Online (Sandbox Code Playgroud)

第3次尝试:

dependencies {
    compile project('vendor/other-proj/pom.xml')
}
Run Code Online (Sandbox Code Playgroud)

第四次尝试:

dependencies {
    compile files 'vendor/other-proj/pom.xml'
}
Run Code Online (Sandbox Code Playgroud)

我在网上找不到任何相关内容,似乎大多数Gradle/Maven用例都受到发布到Maven或生成POM的影响,但我不想做任何这些.

有人能指出我正确的方向吗?

gradle maven

17
推荐指数
2
解决办法
5908
查看次数

json中的JDBC Prepared语句参数

我有一个表,其数据列的结构类似于以下结构:

{"title": "some title", "objects": [{"id": "id1"}, {"id": "id2"}]}
Run Code Online (Sandbox Code Playgroud)

现在我想在数据中的对象数组中找到所有具有特定id对象的行.以下查询可从PSQL控制台完美运行:

SELECT id, data FROM table_name WHERE data->'objects' @> '[{"id": "id1"}]'
Run Code Online (Sandbox Code Playgroud)

但是我无法将其作为JDBC驱动程序的预处理语句.id的值应该是一个参数,所以我尝试将其作为传递给的字符串connection.prepareStatement(query);:

"SELECT id, data FROM table_name WHERE data->'objects' @> '[{\"id\": ?}]'"
Run Code Online (Sandbox Code Playgroud)

在这里,当我尝试设置参数时,我得到了这个异常:

org.postgresql.util.PSQLException: The column index is out of range: 1, number of columns: 0.
Run Code Online (Sandbox Code Playgroud)

当我尝试以下任何一个时,参数设置正确:

"SELECT id, data FROM table_name WHERE data->'objects' @> [{\"id\": ?}]"
"SELECT id, data FROM table_name WHERE data->'objects' @> [{'id': ?}]"
Run Code Online (Sandbox Code Playgroud)

但结果显然不是格式正确的查询:

SELECT id, data FROM table_name WHERE data->'objects' @> [{"id": 'id1'}]
SELECT …
Run Code Online (Sandbox Code Playgroud)

java postgresql jdbc

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

Java相当于OpenSSL AES CBC加密

我不是加密技术专家,特别是由于OpenSSL有很多缺少的文档,我不知道如何解决这个问题.

我有一个外部系统,希望接收加密的消息.提供的唯一示例以这种方式使用OpenSSL:

$ openssl enc -aes-256-cbc -a -in t.txt -k testpass
U2FsdGVkX1/RUdaSJKRXhHv3zUyTsQwu5/ar2ECKDlrNyH5GL4xRR4fgxkiWqkS1
cQstcoSIgWfRPSOFj/5OtdNLeNXiVR6MxSKJ+NvS9LyUD8+Rg6XIcYUvxR4gHi3w
DWT44LAMCpRAh1Q0t4Z2g7rwb0D05T6ygLaWvB5zD/xGZD3brTqSlWmiJb9Imgda
M6soZO7BhbYdqWqEUl5r6+EbkD21f6L3NX3hJFo+BJ+VFctiAlBO8NwT5l4ogo/s
GErm8gqRr57XoX/kvKAimg==
Run Code Online (Sandbox Code Playgroud)

t.txt文件包含这个字符串在一行:

AMOUNT=10&TID=#19:23&CURRENCY=EUR&LANGUAGE=DE&SUCCESS_URL=http://some.url/sucess&ERROR_URL=http://some.url/error&CONFIRMATION_URL=http://some.url/confirm&NAME=customer full name`
Run Code Online (Sandbox Code Playgroud)

我找到另一个问题,我已经能够使用以下代码进行加密:

String password = "passPhrase";
String salt = "15charRandomSalt";
int iterations = 100;

/* Derive the key, given password and salt. */
SecretKeyFactory factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256");
KeySpec spec = new PBEKeySpec(password.toCharArray(), salt.getBytes(Charset.forName("UTF8")), iterations, 256);
SecretKey tmp = factory.generateSecret(spec);
SecretKey secret = new SecretKeySpec(tmp.getEncoded(), "AES");

/* Encrypt the message. */
Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, secret);
AlgorithmParameters …
Run Code Online (Sandbox Code Playgroud)

java encryption openssl cryptography

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

如何检查hamcrest中集合中某些项目的大小和存在

我正在使用Hamcrest 1.3并试图以更紧凑的方式实现以下目标.

考虑以下测试用例:

@Test
public void testCase() throws Exception {

    Collection<String> strings = Arrays.asList(
        "string one",
        "string two",
        "string three"
    );

    // variant 1:
    assertThat(strings, hasSize(greaterThan(2)));
    assertThat(strings, hasItem(is("string two")));

    // variant 2:
    assertThat(strings, allOf(
        hasSize(greaterThan(2)),
        hasItem(is("string two"))
    ));
}
Run Code Online (Sandbox Code Playgroud)

这里的目标是检查集合的大小和要包含的一些特定项目.

在第一种变化是可能的并且被接受的情况下,这并不总是那么容易,因为集合本身可能是其他一些操作的结果,因此使用allOf操作对其进行所有操作更有意义.这是在上面的第二个变体中完成的.

但是,包含第二个变体的代码将导致以下编译时错误:

error: no suitable method found for allOf(Matcher<Collection<? extends Object>>,Matcher<Iterable<? extends String>>)
Run Code Online (Sandbox Code Playgroud)

实际上是否有任何特定的方法来测试Hamcrest中使用单次操作(例如allOf)的集合的大小和项目?

java junit hamcrest

9
推荐指数
2
解决办法
5613
查看次数

不使用arraybuffer检索二进制数据

我有以下资源:

function _arrayBufferToBase64(buffer) {
    var binary = '';
    var bytes = new Uint8Array(buffer);
    var len = bytes.byteLength;
    for (var i = 0; i < len; i++) {
        binary += String.fromCharCode(bytes[ i ]);
    }
    return window.btoa(binary);
}

var API = $resource(server + 'album', {}, {
    get: {
        url: server + 'album/:albumId/photo/:photoId',
        method: 'GET',
        responseType: 'arraybuffer',
        headers: {
            'AuthToken': 'the secret',
            'Accept': 'image/*'
        },
        interceptor: {
            response: function(resp) {              
                return 'data:'+ resp.headers('Content-Type') + ';base64,' + _arrayBufferToBase64(resp.data)};
            }
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

它的作用是从服务器接收文件的二进制内容,并返回带有base64数据的数据uri.

我不得不说这个调用不能被简单的src标记替换为url,因为还有一些身份验证头也被发送. …

javascript angularjs

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

SpringData映射不带注释的实体

我有一个包含实体的 jar,其中的代码我无法修改或执行除使用它们之外的任何操作,并且我必须使用该 jar。

我试图使用这些实体将它们持久化在 mongodb 中,并且我正在使用 Spring,所以我使用 SpringData 而不是 Hibernate(也是因为我读了一些东西,导致我选择 SpringData 而不是 Hibernate NoSQL impl)。不管怎样,我无法让它工作,因为我还没有找到任何方法来设置集合的属性,比如索引、唯一性、复合索引等。现在我可以存储它和所有东西,但是由于无法正确配置我的实体,我失去了很多 mongo 功能。

我一直在寻找不需要修改现有代码的 xml 配置或其他形式的映射。

到目前为止,我能想出的唯一“解决方案”是

  1. 通过插入一些虚拟数据来创建集合,将其删除,然后使用 WriteConverter 和 ReadConverter 进行映射。

  2. 在我的代码上复制完全相同的实体,并为它们添加相应的注释,然后将它们转换为 jar 中的实体,但这将是我最后的手段。

有什么想法或替代解决方案吗?

谢谢。

java spring-data spring-data-mongodb

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

重置auth组件加载的用户数据

我有auth组件工作,直到我实现了一个页面供用户更改用户的信息.我经历了一些未知的结果,直到我发现用户的信息被该动作改变后,由会话中的auth组件加载的用户数据仍然保持不变.我想知道是否有办法强制auth组件再次从数据库重新加载用户数据?我考虑过重新登录用户,但它会使日志变得复杂并在程序中留下一些不好的痕迹.还有更好的方式吗?

cakephp cakephp-1.3

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

致命错误:无法重新声明类NewsModel

这个问题有点奇怪,我在2天之后和它一起战斗,之前我把它作为一个bug发布,只是想确保这不是我的错误.

我有一个干净的CakePHP副本,我有一个设置的数据库,Cake可以连接到我的数据库没有问题.在我的数据库中,我有一个名为"news"的表,我有一个带有以下代码的控制器:

<?php

class UsersController extends AppController {
    public $uses = array('News');

    public function news(){
        $news = $this->News->find('all');
        var_dump($news);
        die;
    }
}
Run Code Online (Sandbox Code Playgroud)

只要我不为我的表创建模型文件,此查询就会成功运行,但只要我创建以下模型文件(另存为模型文件夹中的News.php),我就会看到代码后面的错误:

<?php

class NewsModel extends AppModel {
}
Run Code Online (Sandbox Code Playgroud)

错误:

Fatal error: Cannot redeclare class NewsModel in C:\...\cakephp\app\Model\News.php on line 4
Run Code Online (Sandbox Code Playgroud)

我在Windows上运行php> 5.2.8

cakephp cakephp-2.4

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