当前位置 : 主页 > 网络编程 > 其它编程 >

PagedResources<资源和RestTemplate不起作用

来源:互联网 收集:自由互联 发布时间:2023-07-02
我正在使用SpringBootREST示例。在此,我使用RestTemplate调用返回React.ComponentI 我正在使用 Spring Boot REST 示例。在此,我使用RestTemplate调用返回React.Component对象的端点。但是,通过type Injecte
我正在使用SpringBootREST示例。在此,我使用RestTemplate调用返回React.ComponentI

我正在使用 Spring Boot REST 示例。在此,我使用RestTemplate调用返回React.Component对象的端点。但是,通过type InjectedProps = TStateProps type HocProps = Diff;class Hoc extends React.Component { ... }const COnnectedHoc= connect< TStateProps,TDispatchProps,HocProps,RootState >( mapstatetoProps,dispatchProps )(Hoc);进行呼叫时,我没有得到任何内容。但是,此服务是内置在另一个微服务中的,该微服务可以通过Web轻松访问,并且可以通过Postman进行调用。

PagedResources

我使用下面的代码,但没有任何内容。

RestTemplate

如果我在下面使用,我会得到答复。

@GetMapping("/{employeeId}/employees")public PagedResources getEmployyes(@PathVariable(name="employeeId") String employeeId,@RequestParam(defaultvalue="0",required = false,name="page") Integer page,@RequestParam(defaultvalue="25",name = "size") Integer size,@RequestParam(defaultvalue="billingNumber") String sortParam,@RequestParam(defaultvalue="ASC",required = false) Direction direction,Pageable pageable,HttpServletRequest request) throws IOException{ return employeeService.getEmployeesByCid(employeeId,request);}

注意:如果我通过邮递员执行代码,则会得到以下答复。

String uri = "http://localhost:8080/employee-api/employees/160166/employees?page=0RestTemplate template = new RestTemplate();ResponseEntity> studentRespOnse= template .exchange(uri,HttpMethod.GET,null,new TypeReferences.PagedResourcesType(){});System.out.println(studentResponse.getBody());


我能够通过查看http://izeye.blogspot.com/2015/01/consume-spring-data-rest-hateoas-hal.html和Why does RestTemplate not bind response representation to PagedResources?来解决这个问题。

但是,这是我开发的代码,效果很好。

public class Demo { private static RestTemplate restTemplate() { ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES,false); mapper.registerModule(new Jackson2HalModule()); MappingJackson2HttpMessageConverter cOnverter= new MappingJackson2HttpMessageConverter(); converter.setSupportedMediaTypes(MediaType.parseMediaTypes("application/hal+json")); converter.setObjectMapper(mapper); return new RestTemplate(Collections. singletonList(converter)); } public static void main(String[] args) throws JsonParseException,JsonMappingException,IOException { String URL = "http://localhost:8080/employee-api/employees/160166/employees?page=0 RestTemplate restTemplate = restTemplate(); ResponseEntity> result = restTemplate.exchange(URL,HttpMethod.GET,null/* httpEntity */,new ParameterizedTypeReference>() {}); PagedResources body = result.getBody(); ObjectMapper mapper = new ObjectMapper(); String writeValueAsString = mapper.writeValueAsString(body); System.out.println(mapper.writeValueAsString(body)); }}

上一篇:JavatreeSet平衡BST红黑树
下一篇:没有了
网友评论