小编cmo*_*key的帖子

Jersey ParamConverter异常不是由ExceptionMapper处理的

每个标题,从ParamConverter抛出的异常不按我期望的方式处理.

使用ExceptionMapper:

@Provider
public class MyExceptionMapper implements ExceptionMapper<MyException> {
    @Override
    public Response toResponse(MyException exception) {
        return Response.serverError().entity( "It triggered" ).build();
    }
}
Run Code Online (Sandbox Code Playgroud)

和ParamConverter:

@Provider 
(boilerplate junk)
    @Override
    public DateTime fromString(String value) {
        throw new MyException("convert");
    }
Run Code Online (Sandbox Code Playgroud)

它不会在500错误中返回"It triggered"文本,而是返回404.

预期的问题:两个供应商都注册了吗?

是 - 如果我从资源(在"常规"代码中)抛出"MyException",它将按预期工作.我也可以使用"转换"消息转换看堆栈跟踪.

是否有任何方法可以使ExceptionMapper处理ParamConverters的异常?

我正在使用球衣2.3.1,以及弹簧球衣,在一个码头容器9.1.0.RC0中发射

exception-handling jax-rs jersey jersey-2.0

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

谷歌数据洞察可以做小时级别的时间序列图吗?

我在 Google Data Studio 中看到的每个时间序列图示例都有一个每天绘制的指标。有没有办法配置时间轴的粒度(小时、月等)?

我想显示一天中每小时的事件数。我的列在 bigquery 中的类型为 datetime:TIMESTAMP 和 count:INTEGER

time-series google-data-studio

7
推荐指数
2
解决办法
7102
查看次数

如何让Ruby的RestClient使用多值查询参数?

使用RestClient gem,我需要创建一个如下所示的请求:

GET http://host/path?p=1&p=2
Run Code Online (Sandbox Code Playgroud)

完成此任务的正确语法是什么?请注意,接收主机不是Rails.

尝试:

resource = RestClient::Resource.new( 'http://host/path' )
params = { p: '1', p: '2' }  
# ^ Overrides param to have value of 2 (?p=2)

params = { p: ['1','2'] }
# ^ results in 'p[]=abc&p[]=cde' (array [] indicators not wanted)

resource.get( { params: params } )
Run Code Online (Sandbox Code Playgroud)

ruby rest-client

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

运行git clone的Chef会导致主机密钥验证错误

我正在使用Capistrano调用的Chef.

有一个使用git克隆存储库的指令.

git node['rails']['rails_root'] do
  repository "git@myrepo.com:/myproj.git"
  reference "master"
  action :sync
  user node['rails']['rails_user']
  group node['rails']['rails_group']
end
Run Code Online (Sandbox Code Playgroud)

当它达到这一点时,我得到:

 ** [out :: 10.1.1.1] STDERR: Host key verification failed.
Run Code Online (Sandbox Code Playgroud)

所以,我需要添加一个"known_hosts"条目.没问题.但是对哪个用户?我的问题的核心是我不知道哪个用户正在执行什么命令,以及他们是否正在调用sudo等.

我已经运行了keyscan来填充root的known_hosts,而我用ssh的用户也无济于事.

注意,这个git repo是读保护的,需要ssh密钥访问.

capistrano ssh-keys chef-infra

4
推荐指数
3
解决办法
4229
查看次数

响应http响应体的编码

我正在使用okhttp库发送请求来休息api.这是我发送请求的java代码https:

RequestBody body = RequestBody.create(JSON, requestBody);

    Request request = new Request.Builder().url("https://examplesite.com/json/").post(body)
            .addHeader("Accept", "application/json, text/javascript, */*; q=0.01")
            .addHeader("Accept-Encoding", "gzip").addHeader("Accept-Language", "en-US,en;q=0.8,fa;q=0.6,ar;q=0.4")
            .build();

    Response response = client.newCall(request).execute();
    String res = new String(response.body().string().getBytes("UTF-8"));

    System.out.println(res);
Run Code Online (Sandbox Code Playgroud)

res变量是:?CU8{$???'L?@R?W*?$??b?H?E?l?K?C? 30??}c&,p??q???)+3?R?28???#SC?

上面文字的编码是什么?

这是响应头:

Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip, deflate
Accept-Language:en-US,en;q=0.8,fa;q=0.6,ar;q=0.4
Connection:keep-alive
Content-Length:95
Content-Type:application/json
Run Code Online (Sandbox Code Playgroud)

我无法理解响应体的编码是什么.无论何时我通过邮递员在Chrome上发送请求,响应正文是一个普通的json.参加该协议https,我认为okhttp库处理加密和描述数据.

java https http okhttp

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