SpringMVC:在ResponseEntity中返回Double

时间:2015-12-05 21:52:07

标签: angularjs rest spring-mvc double httpentity

我想在ResponseEntity中发送一个数字(Java引用类型为Double):

@Controller
public class ProjectController {

    @RequestMapping(value="/get/number")
    public ResponseEntity<Double> getNumber(){

        Double resp = new Double(654321.5432d);
        ResponseEntity<Double> respEntity = new ResponseEntity<Double>(resp, HttpStatus.OK); 
        return respEntity;

    }
}

在UI方面,我使用的是AngularJS:

$scope.getNumber = function(){
    DataNumber.getData({

        },function(data){
                console.log("Successfully Called get data number");
                $scope.numberData = data;
                $scope.showNumber = true;
        },
        function(){
            console.log("Error Happened!");
    });
};

最终输出如下:

{"0":"6","1":"5","2":"4","3":"3","4":"2","5":"1","6":".","7":"5","8":"4","9":"3","10":"2"} 

我尝试使用javascript控制台查看浏览器中收到的内容,但响应为空!如下图所示:

enter image description here

正如您所看到的,Double被转换为JSON对象!每个数字现在都是JSON对象的字段!

我的问题:

  • 如果我们想使用SpringMVC将数字作为响应返回,那么标准方法是什么?

  • 如果我这样做的方式是正确的,那么:

    • 如何在不编码的情况下将此JSON对象传输到单个数字! (我现在如何编写代码并生成数字,我正在寻找可能的现有函数。)

    • 为什么浏览器没有显示任何响应!

提前致谢。

1 个答案:

答案 0 :(得分:0)

试试这个

@RequestMapping(value="/get/number")
public @ResponseBody Double getNumber(){

    Double resp = new Double(654321.5432d);

    return resp;

} 

它将返回一个双倍值..