[JAVA] API aufrufen [Vorbereitung]

API aufrufen

Es ist in die folgenden vier Teile unterteilt. (Verzeih mir die XX Ausgabe) API aufrufen [Vorbereitung] API aufrufen [Core] API aufrufen [Handling] API aufrufen [Aufruf]

Vorbereitung

Bereiten Sie zunächst das erforderliche Modell, die Json-Konvertierung und die selbst erstellte Ausnahme vor.

--Modell: Feld für Anfrage / Antwort --Json-Konvertierung: Konvertiert die Anforderung / Antwort für die API-Kommunikation in Json

Modell-

Getter / Setter entfällt

Anfrage.java


package model;

public class RequestDto {
	
	/**Außenrahmen*/
	private RequestBody request;
}

Inhalt anfordern.java


package model;

public class RequestBody {
	
	/** id */
	private String id;
	/**Name*/
	private String name;
	/**Inhalt*/
	private String info;
}

Antwort.java


package model;

public class ResponseDto {

	/**Verarbeitungsergebnis*/
	private String resultCode;
	/**Inhalt*/
	private ResponseBody body;
}

Antwortinhalt.java


package model;

public class ResponseBody {
	
	/**Ergebnisinhalt*/
	private String info;
	/**Kommentar*/
	private String comment;
}

Json-Konvertierung

JsonUtil.java


package json;

import model.RequestDto;
import model.ResponseBody;
import model.RequestBody;
import model.ResponseDto;

public class JsonUtil {
	
	/**
	 *Konvertieren Sie die Anforderung DTO in Json
	 * 
	 * @param request request DTO
	 * @return Json Konvertierte Zeichenfolge
	 */
	public static String requestDtoToJson(RequestDto request) {
		
		RequestBody body = request.getRequest();
		
		String json = 
				"{" + 
					"\"request\": {" + 
						"\"id\": " + body.getId() + "," + 
						"\"name\": " + body.getName() + "," + 
						"\"info\": " + body.getInfo() + 
					"}" + 
				"}";
		
		return json;
	}
	
	/**
	 *Konvertieren Sie die Antwort Json in DTO
	 * 
	 * @param json Antwort Json
	 * @Konvertiertes DTO zurückgeben
	 */
	public static ResponseDto responseJsonToDto(String json) {
		
		json = 
				"{" +
					"\"resultCode\": 0," +
					"\"body\": {" +
						"\"info\":Das Ergebnis ist dies('ω')," +
						"\"comment\":Es ist ein Kommentar('ω')" +
					"}" +
				"}";
		
		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;
	}
	
	/**
	 *Extrahieren Sie Informationen aus der Json-Zeichenfolge
	 * <p>
	 *XXX Es ist nutzlos, wenn der Inhalt eine resultCode-Zeichenfolge oder ein Komma enthält, nicht wahr?
	 * 
	 * @param json Json string
	 * @Parameterinhalt Auszuschneidender Parametername
	 * @Rückgabewert
	 */
	private static String getContent(String json, String content) {
		return json.split("\"" + content + "\": ")[1].split(",")[0].split("}")[0].trim();
	}
}

Die Antwort konzentriert sich auf die Benutzerfreundlichkeit, daher habe ich dieses Mal einen festen Wert erneut eingegeben. Nun, ich denke, es gibt eine Bibliothek, also ist das vielleicht nicht wirklich notwendig?

Selbst gemachte Ausnahme

Basisausnahme.java


package exception;

public class NantokaApiException extends Exception{

	private static final long serialVersionUID = 1L; 
	
	public NantokaApiException(String msg){
		super(msg);
	}
}

Ausnahme, die unerwartete Fehlersysteme zusammenfasst.java


package exception;

public class NantokaApiUnknownException extends NantokaApiException {

	private static final long serialVersionUID = 1L; 
	
	public NantokaApiUnknownException(String msg){
		super(msg);
	}
}

Ausnahme, wenn ein API-Verarbeitungsergebnis vorliegt, es sich jedoch um ein Fehlerergebnis handelt.java


package exception;

public class NantokaApiBadResultException extends NantokaApiException {

	private static final long serialVersionUID = 1L; 
	
	public NantokaApiBadResultException(String msg){
		super(msg);
	}
}

Es war also eine Vorbereitung Das nächste Mal werde ich diese Leute benutzen, um die API zu treffen

Recommended Posts

API aufrufen [Vorbereitung]
Aufruf API [Aufruf]
API aufrufen [Handling]
API aufrufen [Core Edition]
Rufen Sie die Java-API von TensorFlow von Scala aus auf
Rails API
Rufen Sie die Rest-API von GitHub über die Socket-API von Java auf
Rufen Sie die GitHub-API über Javas Socket-API Teil2 auf
Rufen Sie die Windows-Benachrichtigungs-API in Java auf