gpt4 book ai didi

javascript - 通过Restangle中Spring POST响应的url位置 header 获取一个实体

转载 作者:行者123 更新时间:2023-11-28 07:43:18 24 4
gpt4 key购买 nike

如何将新发布的实体获取到 Spring 应用程序,该应用程序仅返回创建资源的“位置” header 作为响应?我设法使用

从标题中获取网址
RestangularProvider.setFullResponse(true);

在restangular配置中(顺便说一句,有更优雅的方法吗?当前的解决方案迫使我到处使用.data)。

响应如下所示:

Cache-Control   no-cache, no-store, max-age=0, must-revalidate
Date Sat, 03 Jan 2015 11:50:56 GMT
Expires 0
Location https://localhost:8443/users/54a7d7a0ccf25ba3e97a51f9
Pragma no-cache
Server Apache-Coyote/1.1
Strict-Transport-Security max-age=31536000 ; includeSubDomains
Transfer-Encoding chunked
X-Application-Context application
X-Content-Type-Options nosniff
X-Frame-Options DENY
X-XSS-Protection 1; mode=block

我的矩形帖子 Controller 操作如下所示:

$scope.create = function () {
$scope.users.post({
name: $scope.name,
surname: $scope.surname,
title: $scope.title,
email: $scope.email,
password: $scope.password,
phone: $scope.phone,
skype: $scope.skype,
roles: $scope.roles,
nonLocked: $scope.nonLocked,
nonExpired: $scope.nonExpired,
credintialsNonExpired: $scope.credintialsNonExpired
}).then(
function (data) {
var location = data.headers('location');
var modal = $('#newUser');
modal.modal('hide');
modal.on('hidden.bs.modal', function () {
$(this).find('form')[0].reset();
});
$('#roles').selectpicker('deselectAll');
},
function (error) {
if (error.status === 409) {
$('.alert').removeClass('hidden');
} else {
alert("Niestety wystąpił błąd, czy na pewno wypełniłeś wszystkie pola?");
}
}
);

服务器端 Spring 资源:

@RepositoryRestResource
public interface UserRepository extends MongoRepository<User, String> {

public User findOneByEmail(@Param("email") String email);
}

我应该如何使用 Restangular 请求此特定资源以及如何将其推送到集合中以刷新 View ?

最佳答案

看来我已经明白了。我需要使用的是

users.oneUrl('users', location).get().then(
function (newUser) {
$scope.users.push(newUser);
});

成功发布新用户后,一切都非常顺利。

关于javascript - 通过Restangle中Spring POST响应的url位置 header 获取一个实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27754813/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com