【发布时间】:2016-12-14 20:26:16
【问题描述】:
在下面提到的代码中,
String additionalAttributes = new ObjectMapper().writeValueAsString(retrieveAttributes(requestApplication));
“additionalAttributes”给了我第一个 json 响应,而 sessionValidationResponse 给了我另一个 json 响应,请注意两者都有不同的返回类型(String 和 SessionValidationResponse) 如何合并这些响应以发送单个 json 响应
public SessionValidationResponse checkToken(String tokenId) throws RuntimeException {
System.out.println(" \n \n \n Enter in checkToken method");
System.out.println("Received Token ID: " + tokenId);
if (null != tokenId && tokenId != "") {
try {
String filepath = "session_validation.json";
String requestApplication = "myVf";
String additionalAttributes = new ObjectMapper().writeValueAsString(retrieveAttributes(requestApplication));
System.out.println("additionalAttributes: " +additionalAttributes);
try {
SessionValidationResponse sessionValidationResponse = jsonFileReader.read(filepath, new TypeReference<SessionValidationResponse>() {
});
sessionValidationResponse.setToken(createToken(sessionValidationResponse.getUserName(), new Date(), Calendar.getInstance().getTime()));
return sessionValidationResponse;
} catch (Exception e) {
throw new RuntimeException();
}
} catch (SignatureException e) {
throw new InvalidTokenException(new Exception(INVALID_TOKEN));
} catch (ExpiredJwtException e) {
throw new TokenExpirationException(new Exception(TOKEN_EXPIRED));
} catch (JsonProcessingException e) {
e.printStackTrace();
}
} else {
throw new TokenEmptyException(new Exception(TOKEN_NOT_FOUND));
}
return null;
}
String类型的响应:{"status":"ACTIVE","msisdn":"45695","UT_MOBILE":"4258963144","gender":"MALE"}
SessionValidationResponse 类型的响应
{
"valid": true,
"uid": "demo",
"userName": "ABC",
"token": "randomToken",
"msisdn": "9949999499"
}
【问题讨论】:
-
你的意思是like this?
-
@dnault Kinda,但示例显示两个对象具有相同的返回类型(MyBean),而我有两种不同的类型(String 和 SessionValidationResponse)。谢谢你的回复。 :)
标签: java json dictionary collections casting