如何在春天附上从前端检索到的请求参数?

时间:2018-01-30 06:33:28

标签: java angularjs spring spring-boot

我在下面尝试了这个代码......任何人都可以帮助我如何将参数传递给spring方法,这是在angularjs中的正确实现。

@GetMapping("/extended-registered-time")
public ResponseEntity<List<Registered_time>> getSubLeaves(@ApiParam Pageable pageable) {
  log.debug("REST request to get registered time : {}", pageable);
  LocalDate startDate = LocalDate.of(2018,01,15);
  LocalDate endDate = LocalDate.of(2018,01,24);
  List<Registered_time> result = ExtendedRegisteredTimeService.
    getSelectedRegisteredTime(startDate,endDate);
  return new ResponseEntity<>(result, HttpStatus.OK);
}

这是前端实现(AngularJs)

 .factory('RegisteredTimeService', RegisteredTimeService);

RegisteredTimeService.$inject = ['$resource'];

function RegisteredTimeService ($resource) {

    var userName="HGajanayake";

    var resourceUrl =  '/api/extended-registered-time/{'+userName+'}';

    return $resource(resourceUrl, {}, {
        'query': {

            method: 'GET',

            isArray: true
        },

        'status':{
            method:"POST",
            isArray:true,

1 个答案:

答案 0 :(得分:1)

我无法用@requestParams克服,所以我选择了@pathVariable。我得到了正确的结果。

这是我的服务

  function RegisteredTimeService ($resource) {

        var userName="HGajanayake";



       // var resourceUrl =  '/api/extended-registered-time?employee='+userName;
        var resourceUrl =  "/api/extended-registered-time/:employee";
        return $resource(resourceUrl, {}, {
            'query': {

                method: 'GET',

                isArray: true
            },

这是我的api端点

  @GetMapping("/extended-registered-time/{employee}")
    @ResponseBody
    public ResponseEntity<List<Registered_time>> getSubLeaves(@PathVariable String employee) {



        List<Registered_time> result = ExtendedRegisteredTimeService.getSelectedRegisteredTime(employee);

        return new ResponseEntity<>(result, HttpStatus.OK);

    }

这是我调用服务的控制器

function RegisteredTimeController ($rootScope, $scope, $state, Employee, RegisteredTimeService,Profile,$resource) {
        var firstName="HGajanayake";


      var c=RegisteredTimeService.query({employee:firstName},function(result) {
          var v=result;
            console.log(v);
        });