小编Nic*_*lle的帖子

HTTP动词REPORT的实际用例是什么?为什么它会随着时间的推移而被忽略?

每当我必须创建一个RESTful Web服务并且用例意味着根据一组搜索条件获取数据时,我总是选择在主体中使用参数而不是GET请求的POST请求,原因很明显.我已经看过十几次,所以我认为这是最好的做法.

最近我偶然发现了Evert Pot的这篇有趣的博客文章,他在评论POST动词的缺点时,简单地说明了使用REPORT动词.他还指出"它的语义定义明确,并且无处不在".看完这篇文章之后,我一直试图找到关于这个REPORT动词的更多信息,但找不到多少.我知道它是RFC-3253的一部分,作为获取资源信息的一种方式,但除此之外我一无所知.

我的问题如下:

  1. 在根据一组搜索条件请求资源的情况下,REPORT真的比POST更好吗?
  2. 开始使用它是否明智还是风险太大?我HTTP Method REPORT not supported从各种工具和框架中看到了很多 问题.
  3. 多年来为什么它似乎被忽视了,为什么我们对此知之甚少呢?
  4. 使用此动词的其他有效用例是什么?

先感谢您.

http http-verbs http-method

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

RxJS5终结运算符未调用

我正在尝试在执行所有可观察对象时触发回调.在我的另一个,我使用的旧项目finally,就像一个魅力:

this.myService.callDummy()
  .finally(() => console.log('Works!'))
  .subscribe(result => ...)
Run Code Online (Sandbox Code Playgroud)

但是现在我正在使用带有Pipeable运算符的更新版本的RxJS ,但finally调用(现在重命名为finalize)永远不会被执行.没有什么信息可以找到,我不确定我做错了什么.

combineLatest(
  this.route.queryParams,
  this.myService.callDummy1(),
  this.myService.callDummy2()
)
.pipe(finalize(() => console.log('Does not work!')))
.subscribe(results => ...);
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏.

observable rxjs rxjs5 angular

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

有没有办法将 verifyNoInteractions 与超时结合起来

我有一段在 CompletableFuture#runAsync 块中运行的 java 代码,我想验证在这个块中,永远不会调用特定的服务。

通常,为了验证它是否确实被调用,我可以使用 VerificationModetimeout来断言 runAsync 何时可能完成

verify(myService, timeout(500)).methodX(param);
Run Code Online (Sandbox Code Playgroud)

但就我而言,我想检查服务是否没有交互。通常这是完成的,verifyNoInteractions(myService);但它会立即触发并且很有可能出现误报。

解决方法是,对于服务中的每个方法,我键入使用 VerificationMode,times(0)例如

verify(myService, timeout(500).times(0)).methodX(param);
verify(myService, timeout(500).times(0)).methodY(param);
verify(myService, timeout(500).times(0)).methodZ(param);
Run Code Online (Sandbox Code Playgroud)

但出于所有显而易见的原因,这是一个糟糕的主意。

我知道另一种可能性是添加Thread.sleep(500);,但如果可能的话我想使用 Mockito API 。我只是没有看到其他地方这样做过。

java mockito

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

Angular/Typescript - 由于模块定义,无法转换导入的'*.json'文件

在我的Angular/Typescript2.2项目中,出于开发目的,我*.json不时地将文件作为组件中的测试数据导入.为了允许将.json文件作为模块导入,我添加了以下内容typings.d.ts

declare module '*.json' {
  const value: any;
  export default value;
}
Run Code Online (Sandbox Code Playgroud)

当然,我可以将这些文件的内容分配给具有类型的字段any,但我想将它们分配给类型为我的一个接口的字段.请注意,我希望模块定义中的值对所有类型保持开放.我不想硬编码到1接口.

import {ProcessMilestone} from '../../../domain';
import * as milestones from './test.json';

export class MilestoneSearchComponent implements OnInit {
  data: ProcessMilestone[];

  ngOnInit(): void {
      this.data = <ProcessMilestone[]> milestones;
  }
}
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

类型'typeof'*.json''无法转换为'ProcessMilestone []>'类型.类型'typeof'*.json''中缺少属性'includes'.

很明显,由于'*.json'的当前模块定义,无法进行转换.有可能调整这个以便这可能吗?我不知道可能性.

只有极少工作的解决方案是可行的.如果没有,我将改为从后端获取数据.

casting typescript angular

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

Apache wicket,插入面板没有html标签

我有一个面板,例如myPanel,当我想将它插入HTML标记时,我必须编写

     <div wicket:panel="mypanel"/> or <span wicket:panel="mypanel"/>
Run Code Online (Sandbox Code Playgroud)

在Html输出中,我的面板转向div或span标签.有可能以某种方式将面板嵌入HTML标记而不使用html标记,例如

     <wicket:child/>
Run Code Online (Sandbox Code Playgroud)

java wicket

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

git pull和git request-pull之间的区别

git pull和之间有什么区别git request-pull

我用的时候git request-pull

git pull-request

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