Versuchen Sie, die REST-API-Java-Implementierung der RestClient-Testklasse von JobScheduler zu verwenden.
Speichern Sie es unter dem Namen der Quelldatei /tmp/kaeru/RestTest.java.
https://qiita.com/yatabekaeru/items/1eda657e5a24189fbcdf
https://qiita.com/yatabekaeru/items/b8f03cccfb8b904efe99
/tmp/kaeru/RestTest.java
package kaeru;
/**
*Client-Klasse zum Erstellen von REST-Anforderungen (zum Testen)
*
* @author S.Yatabe
*/
import javax.ws.rs.core.MediaType;
import com.sun.jersey.api.client.Client;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
public class RestTest {
public static void main(String[] args) {
//Zeichenfolge, die im Anforderungshauptteil festgelegt werden soll
String bodyStr = "";
//Rest-Von der API ausgestelltes Zugriffstoken
String autKey = "";
//Jason Mapper
ObjectMapper mapper = null;
//Für Jason Perth
JsonNode root = null;
//Instanzclient für die Standardauthentifizierung
RestClient client = new RestClient( "root", "root" );
//Rest-Führen Sie zunächst die Standardauthentifizierung durch, um das Zugriffstoken der API auszustellen
String uri = "http://localhost:4446/joc/api/security/login"; // specify URI
//Ausführung nach Anforderung
String data = client.post( uri, bodyStr, MediaType.APPLICATION_JSON_TYPE, null );
try {
//JsonParser-Generation
mapper = new ObjectMapper();
root = mapper.readTree(data);
//Zugriffstoken erhalten
autKey = root.get( "accessToken" ).asText();
System.out.println("*****"+autKey);
} catch (JsonParseException e) {
e.printStackTrace();
} catch ( Exception e){
e.printStackTrace();
}
//Legen Sie das ausgegebene Zugriffstoken und Rest fest-Führen Sie eine Abfrage mit API aus
//Informationen zur JobScheduler-Bestellliste abrufen
uri = "http://localhost:4446/joc/api/orders/"; // specify URI
//Anforderungshauptteil generieren
StringBuilder bodyStrBuffer = new StringBuilder();
bodyStrBuffer.append(" { \"jobschedulerId\": \"scheduler\" }" );
bodyStr = bodyStrBuffer.toString();
//Instanzieren Sie eine Version des Clients, die AccessToken in HeadeField einbettet
client = new RestClient( null, null );
//Führen Sie eine POST-Anforderung aus
data = client.post( uri, bodyStr, MediaType.APPLICATION_JSON_TYPE, autKey );
System.out.println( data );
//Einfaches Parsen von Daten im Json-Format mit hierarchischer Struktur
try {
//JsonParser-Generation
mapper = new ObjectMapper();
root = mapper.readTree( data );
//Variable, die Rückgabedaten im Json-Format speichert
String job = "";
String path = "";
String orderId = "";
String pState = "";
String nextStartTime = "";
//Analysieren Sie den Auftragsknoten hierarchisch
for ( JsonNode n : root.get("orders") ) {
job = n.get( "job" ).asText();
path = n.get( "path" ).asText();
orderId = n.get( "orderId" ).asText();
pState = n.get( "processingState" ).get( "_text" ).asText();
nextStartTime = "";
if ( n.get( "nextStartTime" ) != null ){
nextStartTime = n.get( "nextStartTime" ).asText();
}
//Ergebnisausgabe
System.out.println( "[orderId]: " +orderId+ " [job]: " +job+ " [path]: "
+path+ " [status]: "+pState+ " [nextStart]: "+nextStartTime );
}
} catch (JsonParseException e) {
e.printStackTrace();
} catch ( Exception e){
e.printStackTrace();
}
}
}
Recommended Posts