2017-05-03 17 views
-1

パラメータでanglejs $ http.getリクエストを作成しようとしていますが、構文が原因で動作しません。あなたは私が間違ってやっている 確認をしてくださいすることができ、多分構文が間違っているangularjs通話中またはJava APIの方法で

$http.get(document.requestPathPrefix + "/home/my-api", 
    $scope.requestParametersObject 
    ).then(
     function(response) { 
      $scope.output = response.data; 
     }, 
     function(response) { 
      $scope.retrieveErrorMssg = "Failed to retrieve required data."; 
    }); 

私のパラメータは、この画像

parameter object for api call

に似ていますそしてこのようなjava API呼び出しで

@RequestMapping(value = "/my-api", method = RequestMethod.GET) 
public ResponseEntity<Collection<MyObjectResponse>> getMyObjResponse(@RequestBody final MyObjectRequest request) 
{ 
    Map<Integer,MyObjectResponse> oResponse = new HashMap<>(); 
    try { 

     //Manipulation and db calls 

    } catch (Exception e) { 
     log.error(e.getMessage(), e); 
    } 
    return new ResponseEntity<Collection<MyObjectResponse>>(oResponse.values(), HttpStatus.OK); 
} 
+0

、コールおよび例えば、上記のAPI呼び出しのために、春のコントローラは以下の好きなはずです

プロバイダの間で一致している必要があります投稿リクエストを作成するのではなく、リクエストを取得する –

+0

私の理解ごとに私はこのシナリオで両方の取得またはポストを使用することができます – zumuhu

答えて

0

構文について心配な方は、この簡単な例を見て、必要に応じて変更してください。 JSで

があれば、あなたのhttp.getコールはURLとそのパラメータが含まれている必要があり、

$http.get('getUserInfo', 
{ 
    params : { 
      'userEmail' : 'userEmail' 
    } 
}).then(function(response) { 
     console.log(response); 
}); 

あなたはAPI呼び出しにパラメータを渡している場合は、あなたのJavaコントローラやサービスがパラメータを持っていることを確認それを受け取るように定義されています。理想的なパラメータは、あなたが作ったのはなぜ

@RequestMapping(value = "/getUserInfo", method = RequestMethod.GET) 
public @ResponseBody User getUserInfo(
     @RequestParam("userEmail") String userEmail) { 
// Do Something 
} 
+0

私の心配は構文だけではなく、ちょうどiamがhttp.get要求からパラメータを正しく渡すならば、私のjava呼び出しのdoes'nt – zumuhu

+0

はい、パラメータがhttp.get呼び出しと一致する必要があります。これはあなたのケースではありません。私は – CrazyMac

+0

と信じています。あなたの場合、APIマッピングの前に/ homeが追加されています。したがって、URLとパラメータが一致すると、APIが起動されます – CrazyMac

1

試して、

$http({ 
       url: '/home/my-api', 
       method: "GET", 
       headers: { 
        'Content-type': 'application/json' 
       }, 
       data: JSON.stringify(request) 
      }).success(function(data, status, headers, config) { 

      }).error(function(data, status, headers, config) { 

       return null; 
     });