我正在设置一个REST Web服务,只需要尽快回答"是"或"否".
设计HEAD服务似乎是最好的方法,但我想知道我是否真的会比做GET请求获得一些时间.
我想我的身体流不能在我的服务器上打开/关闭(大约1毫秒?).由于要返回的字节数非常少,我是否可以在传输中获得IP数据包的任何时间?
在此先感谢您的回复!
编辑:
进一步解释上下文:
由于最后一个服务将经常被一组非常大的客户端调用(每隔5ms调用一次),我想知道使用HEAD方法是否可以进行有价值的优化?响应正文中返回约250个字符.HEAD方法至少可以获得这250个字符的传输,但这有什么影响呢?
我尝试对两种方法(HEAD与GET)之间的差异进行基准测试,运行1000次调用,但看不到任何增益(<1ms)......
我有一个hibernate多对多关系的问题:当我从我的集合中删除一个项目时,它不会在我的数据库中删除.我知道有很多类似的问题,但我没有通过阅读来修复我的问题.
我已经为它编写了一个JUnit测试用例.我的协会是建筑物和用户之间:
@Test
public void testBuildingManyToMany(){
//Create 2 buildings
Building building = createBuilding("b1");
Building building2 = createBuilding("b2");
//Create 1 user
User user = createUser("u1");
//Associate the 2 buildings to that user
user.getBuildings().add(building);
building.getUsers().add(user);
user.getBuildings().add(building2);
building2.getUsers().add(user);
userController.save(user);
user = userController.retrieve(user.getId());
Assert.assertEquals(2, user.getBuildings().size());//Test OK
//Test 1: remove 1 building from the list
user.getBuildings().remove(building);
building.getUsers().remove(user);
userController.save(user);
//Test 2: clear and add
//user.getBuildings().clear();
//user.getBuildings().add(building);
//userController.save(user);
//user = userController.retrieve(user.getId());
//Assert.assertEquals(1, user.getBuildings().size());
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的错误:
...
Hibernate: insert into building_useraccount (userid, buildingid) values (?, ?)
Hibernate: insert …
Run Code Online (Sandbox Code Playgroud) 我正在构建一个应用程序原型并尝试模拟REST Web服务.
这是我的代码:
var mock = angular.module('mock', ['ngMockE2E']);
mock.run(function($httpBackend){
users = [{id:1,name:'John'},{id:2,name:'Jack'}];
$httpBackend.whenGET('/users').respond(users);
$httpBackend.whenGET(new RegExp('\\/users\\/[0-9]+')).respond(users[0]);
}
Run Code Online (Sandbox Code Playgroud)
一切正常,我的资源User.query()返回所有用户,User.get({id:1})和User.get({id:2})返回相同的用户(John).
现在为了改进我的原型,我想返回适当的用户,匹配好的id.
我在角度文档中读到了我应该能够用函数替换RegExp URI.我们的想法是从url中提取id以在response方法中使用它.然后我尝试了这个:
$httpBackend.whenGET(new function(url){
alert(url);
var regexp = new RegExp('\\/users\\/([0-9]+)');
id = url.match(regexp)[1];
return regexp.test(url);
}).respond(users[id]);
Run Code Online (Sandbox Code Playgroud)
问题是url参数始终未定义.有什么想法实现我的目标?