As usual, it's a memorandum ...
public class SampleDto implements Serializable {
private static final long serialVersionUID = 1L; //It is better to generate it properly
private int id;
private String mail;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getMail() {
return mail;
}
public void setMail(String mail) {
this.mail = mail;
}
}
protected String createJson4Sample(SampleDto dto) {
ObjectMapper mapper = new ObjectMapper();
try {
return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(dto);
} catch (JsonProcessingException e) {
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw));
log.error(sw.toString());
return null;
}
}
protected String requestJson(String method, String json, String urlPath, String charset,
String bearer) {
HttpURLConnection con = null;
if (StringUtils.isEmpty(charset)) {
charset = StringUtils.lowerCase(StandardCharsets.UTF_8.name());
}
String body = "";
try {
URL url = new URL(urlPath);
con = (HttpURLConnection)url.openConnection();
con.setRequestMethod(method);
con.setUseCaches(false);
con.setDoOutput(true);
con.setRequestProperty("Content-Type", "application/json; charset=" + charset);
if (StringUtils.isNotEmpty(bearer)) {
con.setRequestProperty("Authorization", "Bearer "+bearer);
}
OutputStreamWriter out = new OutputStreamWriter(new BufferedOutputStream(con.getOutputStream()));
out.write(json);
out.close();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String line = in.readLine();
while (line != null) {
body = body + line;
line = in.readLine();
}
}
catch (Exception e) {
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw));
log.error(sw.toString());
return null;
}
finally {
if (con != null) {
con.disconnect();
}
}
return body;
}
protected boolean checkResponseJson(String response) {
ObjectMapper mapper = new ObjectMapper();
try {
if (StringUtils.isEmpty(response)) { return false; }
JsonNode root = mapper.readTree(response);
String success = root.get("success").asText();
String id = root.get("id").asText();
log.info("Response:" + id + ":" + success);
if (!"OK".equalsIgnoreCase(success)) {
return false;
}
} catch (Exception e) {
StringWriter sw = new StringWriter();
e.printStackTrace(new PrintWriter(sw));
log.error(sw.toString());
return false;
}
return true;
}
Thank you for your hard work!
Recommended Posts