猿问

通过 REST 控制器中的 Url 将空 ID 获取到后端

我将 ID Null 获取到后端,这是从前端传递的参数


    this.overAllSummery = function(offset,limit,search,colName,order,id){


    var url = 'api/dashboard/summary/'


        if(offset!= undefined){

            url=(url.indexOf("?") > -1)?url+"&offset="+offset:url+"?offset="+offset;

        }

        if(limit != undefined){

            url=(url.indexOf("?") > -1)?url+"&limit="+limit:url+"?limit="+limit;

        }

        if(search!=undefined && search!=""){

            url=(url.indexOf("?") > -1)?url+"&search="+search:url+"?search="+search;

        }

        if(colName != undefined){

            url=(url.indexOf("?") > -1)?url+"&colName="+colName:url+"?colName="+colName;

        }

        if(order != undefined){

            url=(url.indexOf("?") > -1)?url+"&order="+order:url+"?order="+order;


        }

        if(id != undefined){

            url=(url.indexOf("?") > -1)?url+"&id ="+id:url+"?id ="+id;

        }

        alert(id);

        var promise = $http({

            method : 'GET',

            url : url,

            headers : {

                'Content-Type' : 'application/json'

            },

            cache : false

        }).then(function (response) {

            return response;

        });

        return promise;     

    };

上面的整个是使用AngularJS的前端服务并传递URL来调用后端,当我传递不同的参数时,我将所有这些参数都传递给后端,除了ID,并且基于ID我必须从数据库中获取记录。


    @RequestMapping(value = "/summary", method = RequestMethod.GET, produces="application/json")

public ResponseEntity<List<OverAllSummery>> overAllSummery(HttpServletRequest request,@RequestParam(value="offset",required=false) Integer offset,@RequestParam(value="limit",required=false) Integer limit,

@RequestParam(value="search",required=false) String search,@RequestParam(value="colName",required=false) String colName,@RequestParam(value="order",required=false) String order,

@RequestParam(value="id",required=false) Long id){


以上是我正在使用的其余控制器,调用正在传递到后端以处于调试模式,但 ID 为空,我在前端控制台中得到 404。

慕田峪7331174
浏览 111回答 3
3回答

浮云间

从 URL 中删除多余的空格后,您能否检查一下。Urls 中不应包含空格。

开心每一天1111

@RequestMapping(value = "dashboard/summary" ...)您没有在 requestMapping 中添加 id 作为参数添加{id}@RequestMapping(value = "dashboard/summary/{id}" ...)你调用的apidashboard/summary/1

catspeake

HTTP 中的错误 404 绝对意味着服务器(后端)不知道您正在尝试访问的 url。由 catch 块产生的内部服务器错误是 HTTP 500,因此后端没有产生异常。因此,首先要检查的是您实际尝试访问的 URL。顺便尝试使用'/api/dashboard/summary',而不是现在在前端使用的。
随时随地看视频慕课网APP

相关分类

Java
我要回答