![](/img/trans.png)
[英]How to pass filter params from angularjs to spring restcontroller with @MatrixVariable
[英]How do I receive mixed params in Spring MVC from AngularJS?
我需要將json對象和字符串作為參數傳遞給Java控制器。
這是我正在嘗試的方法,但在控制器中得到url = ""
。
$scope.executeRequest = function(){ var url = "http://"+$scope.data.serverIP+":"+$scope.data.serverPort; $http.post('/admin/executeRequest/',JSON.parse($scope.data.request),url).success(function(data){ $scope.data.response = data; }).error( function ( data, status ) { $log.info("getting request object for api from server : failure"); if ( status === 403 ) { $scope.show403( data ); } }); };
@RequestMapping(value="/admin/executeRequest/",method=RequestMethod.POST)
@ResponseBody
public ProductCategoryResponse executeRequest(@RequestBody ProductCategoryRequest request, String url){
將URL附加到URL參數,然后在請求正文中發送$ scope.data.request。
$scope.executeRequest = function(){
var url = "http://"+$scope.data.serverIP+":"+$scope.data.serverPort;
$http.post('/admin/executeRequest?url=' + encodeURIComponent(url), $scope.data.request).success(function(data){
$scope.data.response = data;
}).error( function ( data, status ) {
$log.info("getting request object for api from server : failure");
if ( status === 403 ) {
$scope.show403( data );
}
});
};
然后像這樣更改您的Java控制器。
@RequestMapping(value="/admin/executeRequest/",method=RequestMethod.POST)
@ResponseBody
public ProductCategoryResponse executeRequest(@RequestBody ProductCategoryRequest request, @RequestParam String url){
有關詳細信息,請參閱Spring文檔@RequestParam。
@RequestMapping(value = {"/admin/executeRequest_parentcategories", "/admin/executeRequest_subcategories"}, method = RequestMethod.POST)
@ResponseBody
public ProductCategoryResponse executeProductCategoryRequest(@RequestParam(value = "url") String url,
@RequestParam(value = "api") String api, @RequestBody ProductCategoryRequest request) {
和http調用類似:
var url = '/admin/executeRequest_parentcategories+'?url=http://'+$scope.data.serverIP+":"+$scope.data.serverPort+"&api="+$scope.data.apiSelected;
$http.post(url,JSON.parse($scope.data.request)).success(function(data){
謝謝sohan的幫助:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.