Il est divisé en quatre parties. (Pardonnez-moi pour la XX édition) Appeler l'API [Préparation] Appeler l'API [Core] Appeler l'API [Handling] Appeler l'API [Appeler]
Tout d'abord, préparez le modèle nécessaire, la conversion Json et l'exception faite par vous-même.
--Modèle: Boîte pour demande / réponse
Getter / Setter est omis
demande.java
package model;
public class RequestDto {
/**Cadre extérieur*/
private RequestBody request;
}
Demande de contenu.java
package model;
public class RequestBody {
/** id */
private String id;
/**Nom*/
private String name;
/**Contenu*/
private String info;
}
réponse.java
package model;
public class ResponseDto {
/**Résultat du traitement*/
private String resultCode;
/**Contenu*/
private ResponseBody body;
}
Contenu de la réponse.java
package model;
public class ResponseBody {
/**Contenu du résultat*/
private String info;
/**commentaire*/
private String comment;
}
JsonUtil.java
package json;
import model.RequestDto;
import model.ResponseBody;
import model.RequestBody;
import model.ResponseDto;
public class JsonUtil {
/**
*Convertir le DTO de demande en Json
*
* @demande de paramètre demande DTO
* @return Chaîne convertie Json
*/
public static String requestDtoToJson(RequestDto request) {
RequestBody body = request.getRequest();
String json =
"{" +
"\"request\": {" +
"\"id\": " + body.getId() + "," +
"\"name\": " + body.getName() + "," +
"\"info\": " + body.getInfo() +
"}" +
"}";
return json;
}
/**
*Convertir la réponse Json en DTO
*
* @param json réponse Json
* @retour DTO converti
*/
public static ResponseDto responseJsonToDto(String json) {
json =
"{" +
"\"resultCode\": 0," +
"\"body\": {" +
"\"info\":Le résultat est le suivant('ω')," +
"\"comment\":C'est un commentaire('ω')" +
"}" +
"}";
ResponseBody body = new ResponseBody();
body.setInfo(getContent(json, "info"));
body.setComment(getContent(json, "comment"));
ResponseDto response = new ResponseDto();
response.setBody(body);
response.setResultCode(getContent(json, "resultCode"));
return response;
}
/**
*Extraire les informations de la chaîne Json
* <p>
*XXX Il est inutile si le contenu contient une chaîne de caractères resultCode ou une virgule, n'est-ce pas?
*
* @param json Json string
* @contenu du paramètre Nom du paramètre à découper
* @return Valeur de coupure
*/
private static String getContent(String json, String content) {
return json.split("\"" + content + "\": ")[1].split(",")[0].split("}")[0].trim();
}
}
La réponse est axée sur la facilité d'utilisation, donc cette fois j'ai ré-entré une valeur fixe. Eh bien, je pense qu'il y a une bibliothèque, alors peut-être que ce n'est pas vraiment nécessaire?
Exception de base.java
package exception;
public class NantokaApiException extends Exception{
private static final long serialVersionUID = 1L;
public NantokaApiException(String msg){
super(msg);
}
}
Exception qui résume les systèmes d'erreur inattendus.java
package exception;
public class NantokaApiUnknownException extends NantokaApiException {
private static final long serialVersionUID = 1L;
public NantokaApiUnknownException(String msg){
super(msg);
}
}
Exception lorsqu'il y a un résultat de traitement API mais qu'il s'agit d'un résultat d'erreur.java
package exception;
public class NantokaApiBadResultException extends NantokaApiException {
private static final long serialVersionUID = 1L;
public NantokaApiBadResultException(String msg){
super(msg);
}
}
C'était donc une préparation La prochaine fois, j'utiliserai ces gars pour accéder à l'API
Recommended Posts