0

我使用 Spring for Android 作为 HTTP 客户端。假设我使用这样的基本身份验证请求:

    // Create a new RestTemplate instance
            RestTemplate restTemplate = new RestTemplate();
            restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());


            try {
                // Make the network request
                Log.d(TAG, url);
                ResponseEntity<Message> response = restTemplate.exchange(url, HttpMethod.GET, new HttpEntity<Object>(requestHeaders), Message.class);
                System.out.println(response.toString());
            } catch (HttpClientErrorException e) {
                Log.e(TAG, e.getLocalizedMessage(), e);
e.getLocalizedMessage());
            }
        }

我的理解是 Message 类应该是我期望从这个请求中返回的 JSON 的映射。但是现在我有一个问题:根据请求的标头,可以返回不同类型的 JSON。如果用户被授权,它将获得:

{

    "message": "ok",
    "code": 200,
    "data:{
... just some more json data ..
           }
}

但是当用户没有被自动化时,数据就会丢失(当然)。所以它看起来像这样

 {

    "message": "You are not authorized to use this service",
    "code": 5201

}

但这是两种类型的 JSON 文件,我如何为这两种文件创建正确的映射(消息类)?或者我应该创建不同类型的消息类?

恐怕这个问题有一个非常简单的答案,但我自己找不到。希望有人能解释一下,谢谢!

4

1 回答 1

2

两个 json 都是一样的,唯一的区别是第二个 json 数据将为空,

于 2013-02-22T09:44:33.383 回答