나는 봄 구름 계약 (1.1.0)를 사용하고 있지만 다음 예제가 작동 Pageable를SCC는 Pageable을 지원하지 않습니까?
사용할 때는 페이징
없이, completly 붙어@GetMapping("/employees")
@Timed
public List<EmployeeDTO> getAllEmployees() {
log.debug("REST request to get all Employees");
List<Employee> employees = employeeRepository.findAll();
return employeeMapper.employeesToEmployeeDTOs(employees);
}
그리고이 사람은 페이징
을 사용하고 있습니다나의 계약이 있습니다. 하지 두 번째
import org.springframework.cloud.contract.spec.Contract
[
Contract.make {
name("get all")
request {
method 'GET'
url('/api/employees?sort=id,desc')
}
response {
status 200
body([
[id : 1,
firstName : value(consumer('test'), producer(regex('[a-zA-Z0-9]{1,255}'))),
lastName : value(consumer('test'), producer(regex('[a-zA-Z0-9]{1,255}'))),
phoneNumber : value(consumer('test'), producer(regex('[a-zA-Z0-9]{1,255}'))),
salary : value(consumer(1000), producer(regex('[0-9]{1,10}'))),
commissionPct : value(consumer(1000), producer(regex('[0-9]{1,10}')))
],
[id : 2,
firstName : value(consumer('test2'), producer(regex('[a-zA-Z0-9]{1,255}'))),
lastName : value(consumer('test2'), producer(regex('[a-zA-Z0-9]{1,255}'))),
phoneNumber : value(consumer('test2'), producer(regex('[a-zA-Z0-9]{1,255}'))),
salary : value(consumer(2000), producer(regex('[0-9]{1,10}'))),
commissionPct : value(consumer(2000), producer(regex('[0-9]{1,10}')))
]
])
headers {
contentType('application/json;charset=UTF-8')
}
}
}
]
그리고 스택 트레이스를 들어 첫 번째 예를 들어, 사용 :
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.data.domain.Pageable]: Specified class is an interface
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:99)
at org.springframework.web.method.annotation.ModelAttributeMethodProcessor.createAttribute(ModelAttributeMethodProcessor.java:142)
at org.springframework.web.servlet.mvc.method.annotation.ServletModelAttributeMethodProcessor.createAttribute(ServletModelAttributeMethodProcessor.java:80)
at org.springframework.web.method.annotation.ModelAttributeMethodProcessor.resolveArgument(ModelAttributeMethodProcessor.java:102)
at org.springframework.web.method.support.HandlerMethodArgumentResolverComposite.resolveArgument(HandlerMethodArgumentResolverComposite.java:121)
at org.springframework.web.method.support.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:160)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:129)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:116)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at org.springframework.test.web.servlet.TestDispatcherServlet.service(TestDispatcherServlet.java:65)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.springframework.mock.web.MockFilterChain$ServletFilterProxy.doFilter(MockFilterChain.java:167)
at org.springframework.mock.web.MockFilterChain.doFilter(MockFilterChain.java:134)
at org.springframework.test.web.servlet.MockMvc.perform(MockMvc.java:155)
at com.jayway.restassured.module.mockmvc.internal.MockMvcRequestSenderImpl.performRequest(MockMvcRequestSenderImpl.java:174)
at com.jayway.restassured.module.mockmvc.internal.MockMvcRequestSenderImpl.sendRequest(MockMvcRequestSenderImpl.java:404)
at com.jayway.restassured.module.mockmvc.internal.MockMvcRequestSenderImpl.get(MockMvcRequestSenderImpl.java:582)
at com.jayway.restassured.module.mockmvc.internal.MockMvcRequestSenderImpl.get(MockMvcRequestSenderImpl.java:79)
at com.jayway.restassured.module.mockmvc.internal.MockMvcRequestSpecificationImpl.get(MockMvcRequestSpecificationImpl.java:744)
at com.jayway.restassured.module.mockmvc.internal.MockMvcRequestSpecificationImpl.get(MockMvcRequestSpecificationImpl.java:66)
at org.springframework.cloud.contract.verifier.tests.EmployeeTest.validate_get_all(EmployeeTest.java:47)
어떻게해야합니까? 작동하도록 수정하려면 어떻게해야합니까?
나는 url에 대한 계약을하고있다 :/api/employees? sort = id, desc '요소는 나의 계약의 반환이다. 그리고 작동하고 있기 때문에 페이징을 테스트하고 싶지 않습니다. 그걸로 계약을 맺고 싶습니다. –
샘플을 어딘가에 게시하여 체크 아웃 할 수 있습니까? –
아마도이 경우 Spring 데이터는 모의 데이터가 아닌 실제 컨텍스트가 필요합니까? 플러그인에서 EXPLICIT 모드를 사용해 보셨습니까? –