Я просмотрел эти сообщения, так как они похожи, но они не помогли мне решить мою проблему, вероятно, потому что я очень плохо знаком с Angular и Spring:
На первой странице моего веб-приложения, в которую все входят и видят, перечислены все свойства, перечисленные риэлторской компанией.Я хочу изменить это так, чтобы они видели только свои свойства.
Угловой контроллер
angular.module('communitypropApp').controller('DashboardController,function($rootScope,$scope,$state,CommunityProperties){
$scope.$state=$state;
$scope.communityProperties=[];
$scope.loadAll=function(){
CommunityProperties.query(function(result){
$scope.communityProperites=result.content;
});
});
$scope.loadall();
});
Внутри моего файла CommunityPropertiesRestController.java У меня есть
import . . .
@RestController
@RestMapping("/rest/api")
public class CommunityPropertiesRestController(
@Inject
CommunityPropertyDataService communityPropertiesDataService;
@PostMapping(value="/communityProperties",produces=MediaType.Application_Json_value)
public ResponseEntity<Void> create{
. . .
}
@GetMapping(value="/communityProperties/{id}",produces=MediaType.Application_Json_value)
public ResponseEntity<CommunityProperties> get(@PathVariable Long id, User user)
CommunityProperties communityProperties=communityPropertiesDataService.getCommunityPropertiesById(id);
return Optional.OfNullable(communityProperties.map(. . . )
}
@GetMapping(value = "/communityProperties",produces = MediatType.Application_Json_value)
. . .
}
. . . (I added)
@GetMapping(value="/communityProperties/propertyowner", . . .
.. .
}
}
В CommunityPropertiesDataService.java У меня есть
import . . . .
@Service
public class CommunityPropertiesDataService{
@Inject
CommunityPropertyRepository communityPropertiesRepository;
public CommunityProperities create(. . . ){
. . .
}
public CommunityProperties getCommunityPropertiesById(. . . ){
. . .
}
public Page<CommunityProperties> getAll(. . . ){
. . .
}
. . . .
}
Существует сообщество-properties.service.js, которое у меня есть
'use strict';
angular.module('communitypropertiesApp').factory('CommunityProperty',function($resource){
return $resource('/rest/api/communityProperties/:id',{},{
'query': { method: 'GET',
transformResponse: function (data){
data = angular.fromJson(data);
return data;
}},
'get': {
method: 'GET',
transformResponse: function (data){
data=angular.fromJson(data);
return data;
}
},
. . .
}),
});
Я добавил в этот файл:
angular.module('communitypropertiesApp').factory('CommunityPropertiesOwner',function($resource){
return $resource('/rest/api/communityProperties/propertyowner"',{},{
'query': { method: 'GET',
transformResponse: function (data){
data = angular.fromJson(data);
return data;
}},
'get': {
method: 'GET',
transformResponse: function (data){
data=angular.fromJson(data);
return data;
}
},
. . .
}),
});
Я не могу "взломать" веб-службу / communityproperties / или веб-службу communityproperties / {id}, поскольку они используются в других местах.Так что я не знаю, как добавить к этому, чтобы получить только зарегистрированные свойства пользователя.Что мне здесь не хватает?