Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring数据REST-REST控制器中可分页参数中的排序始终为空_Java_Spring Boot_Spring Data Rest - Fatal编程技术网

Java Spring数据REST-REST控制器中可分页参数中的排序始终为空

Java Spring数据REST-REST控制器中可分页参数中的排序始终为空,java,spring-boot,spring-data-rest,Java,Spring Boot,Spring Data Rest,我正在使用SpringDataREST和SpringBoot(1.5.17),我的代码中有以下控制器 @RestController public class StudentController { @RequestMapping(method = GET, value = "students/{id}/notifications") public @ResponseBody ResponseEntity<?> getStudentNotifications

我正在使用SpringDataREST和SpringBoot(1.5.17),我的代码中有以下控制器

@RestController
public class StudentController {

    @RequestMapping(method = GET, value = "students/{id}/notifications")
    public @ResponseBody
    ResponseEntity<?> getStudentNotifications(@PathVariable Long id, PersistentEntityResourceAssembler resourceAssembler, Pageable page) {

            Student student = studentRepo.findOne(id);

            Page<Notification> notifications = notificationHandler.getUnreadNotifications(student.getId(),page);

            return new ResponseEntity<>(pagedResourcesAssembler.toResource(notifications, resourceAssembler), HttpStatus.OK);


    }
}
控制器工作正常,但我无法使用sort参数 像students/1/notifications?createdDate,DESC。它总是按 按升序创建日期

如果您正试图传递排序

学生/1/通知?创建日期,描述

它将不起作用,因为Pageable有排序参数,您需要像下面这样调用

学生/1/通知??排序=创建日期,描述


将以下内容添加到
addArgumentResolver
方法

添加(新的PageableHandlerMethodArgumentResolver());
为您的sort添加查询参数您能详细说明吗?您的查询参数是什么
学生/1/通知?sort=createdDate,DESC
您是否将
PageableHandlerMethodArgumentResolver
包括到配置中以便在REST控制器方法中使用Pageable参数?很抱歉,我在问题中犯了一个错误。我正在使用您提到的sort参数,但它不起作用。好的,您还可以发布要应用sort的实体对象吗?很抱歉,我在问题中犯了一个错误。荒谬。谢谢你的回答,但我发现控制器没有问题。实际上createdDate字段是一个json忽略的字段,这就是排序不起作用的原因
@Configuration
public class SpringMvcConfig extends WebMvcConfigurerAdapter {

    @Autowired
    @Qualifier("repositoryExporterHandlerAdapter")
    RequestMappingHandlerAdapter repositoryExporterHandlerAdapter;

    @Override
    public void addArgumentResolvers(
            List<HandlerMethodArgumentResolver> argumentResolvers) {
        List<HandlerMethodArgumentResolver> customArgumentResolvers = repositoryExporterHandlerAdapter.getCustomArgumentResolvers();
        argumentResolvers.addAll(customArgumentResolvers);
    }

    @Override
    public void addCorsMappings(CorsRegistry registry) {

    }

}