无法将参数发送到Spring get方法

时间:2018-10-29 21:05:14

标签: angularjs spring

我正在尝试向Spring get方法发出带有一些参数的get请求。我正在使用angular拨打电话,这是我的示例

var apiUrl =  'api/trupci-filter';

    var req = {
        method: 'GET',
        url: apiUrl,
        headers: {
            'Content-Type':   "application/x-www-form-urlencoded" or "application/json"
        },
        data:   {
            klasa: "1",
            promjer:"1",
            duzina: "1" 
        }
    }
    console.log(req)
    return $http(req)

这是我在Spring中的get方法:

 @GetMapping("/trupci-filter")
    @Timed
    public ResponseEntity<List<Trupci>> getTrupciWithFilter(
        @RequestParam(value = "klasa", required = false) String klasa,
        @RequestParam(value = "promjer", required = false) String promjer,
        @RequestParam(value = "duzina", required = false) String duzina )

调用成功,但参数始终为空。对于这个简单的问题,我找不到任何解决方案,但我已经失去了理智。 有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

HTTP GET请求不能包含data元素,它的请求正文如HTTP POST,PUT等。请使用params作为查询字符串参数。

var req = {
        method: 'GET',
        url: apiUrl,
        params:   {
            klasa: "1",
            promjer:"1",
            duzina: "1" 
        }
    }