Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/rest/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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.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 SpringRestTemplate-ResponseBody类看起来像什么_Java_Rest_Spring Mvc_Resttemplate_Lombok - Fatal编程技术网

Java SpringRestTemplate-ResponseBody类看起来像什么

Java SpringRestTemplate-ResponseBody类看起来像什么,java,rest,spring-mvc,resttemplate,lombok,Java,Rest,Spring Mvc,Resttemplate,Lombok,我有一个非常简单的rest客户端,我想将服务响应解析为一个定制的ResponseBy类: ResponseEntity<CustomResponseBody> entity = restTemplate.postForEntity(uri, request, CustomResponseBody.class); 我的makeRestTemplate方法是: @Bean public RestTemplate makeRestTemplate() { Rest

我有一个非常简单的rest客户端,我想将服务响应解析为一个定制的ResponseBy类:

ResponseEntity<CustomResponseBody> entity = restTemplate.postForEntity(uri, request, CustomResponseBody.class);
我的makeRestTemplate方法是:

    @Bean
    public RestTemplate makeRestTemplate() {
    RestTemplate restTemplate = new RestTemplate();

    HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory();
    requestFactory.setConnectTimeout(TIMEOUT_MILLIS);
    requestFactory.setReadTimeout(TIMEOUT_MILLIS);
    restTemplate.setRequestFactory(requestFactory);
    restTemplate.setErrorHandler(errorHandler);

    List<HttpMessageConverter<?>> converters = restTemplate.getMessageConverters();
    for (HttpMessageConverter<?> converter : converters) {
        if (converter instanceof MappingJackson2HttpMessageConverter) {
            MappingJackson2HttpMessageConverter jsonConverter = (MappingJackson2HttpMessageConverter) converter;
            ObjectMapper objectMapper = makeObjectMapper();
            jsonConverter.setObjectMapper(objectMapper);
            jsonConverter.setSupportedMediaTypes(Arrays.asList(new MediaType("application", "json", MappingJackson2HttpMessageConverter.DEFAULT_CHARSET),
                    new MediaType("text", "javascript", MappingJackson2HttpMessageConverter.DEFAULT_CHARSET)));
        }
    }

    return restTemplate;
}
不可接受

import lombok.Setter;
import lombok.Getter;
import lombok.NoArgsConstructor;

@NoArgsConstructor
public class CustomResponseBody {

    @Getter
    @Setter
    private String item1;

    @Getter
    private String item2;

    public void setItem2(String item2) {
        if ("something".equals(item2)) {
            this.item2 = "whatever";
        } else {
            this.item2 = "otherstuff"
        }
    }
}

它应该是简单的POJO实现可序列化的,预先启用的HttpMessageConverters应该能够根据头中的内容类型转换任何可序列化的POJO

应该是简单的POJO实现可序列化,预启用的HttpMessageConverters应该能够根据标题中的内容类型转换任何可序列化的POJO

如果json是{“item1”:value1,“item2”:value2},并且您只需要这两个值,那么您的映射pojo应该有两个字段,“item1”和“item2”,其类型与value1和value2相同。默认的setter和getter应该可以

如果json是{“item1”:value1,“item2”:value2},并且您只需要这两个值,那么您的映射pojo应该有两个字段,“item1”和“item2”,其类型与value1和value2相同。默认的setter和getter应该可以

import lombok.Data;
import lombok.NoArgsConstructor;

@NoArgsConstructor
@Data
public class CustomResponseBody {
    private String item1;
    private String item2;
}
import lombok.Setter;
import lombok.Getter;
import lombok.NoArgsConstructor;

@NoArgsConstructor
public class CustomResponseBody {

    @Getter
    @Setter
    private String item1;

    @Getter
    private String item2;

    public void setItem2(String item2) {
        if ("something".equals(item2)) {
            this.item2 = "whatever";
        } else {
            this.item2 = "otherstuff"
        }
    }
}