Schnellstart: Überprüfen der Rechtschreibung mit der Bing-Rechtschreibprüfungs-REST-API und Java
Warnung
Am 30. Oktober 2020 wurden die Bing-Suche-APIs aus den Azure KI Services in die Bing-Suchdienste verschoben. Diese Dokumentation wird nur zu Referenzzwecken bereitgestellt. Eine aktualisierte Dokumentation finden Sie in der Dokumentation zu den Bing-Suche-APIs. Anweisungen zum Erstellen neuer Azure-Ressourcen für die Bing-Suche finden Sie unter Erstellen einer Ressource für die Bing-Suche über Azure Marketplace.
Verwenden Sie diese Schnellstartanleitung, um die Bing-Rechtschreibprüfungs-REST-API zum ersten Mal aufzurufen. Diese einfache Java-Anwendung sendet eine Anforderung an die API und gibt eine Liste mit Korrekturvorschlägen zurück.
Die Anwendung ist zwar in Java geschrieben, an sich ist die API aber ein RESTful-Webdienst und mit den meisten Programmiersprachen kompatibel. Der Quellcode für diese Anwendung ist auf GitHub verfügbar.
Voraussetzungen
Das Java Development Kit (JDK) 7 oder höher
Importieren Sie gson-2.8.5.jar oder die neueste Gson-Version. Für die Befehlszeilenausführung fügen Sie
.jar
mit der „main“-Klasse Ihrem Java-Ordner hinzu.
Erstellen einer Azure-Ressource
Beginnen Sie mit der Verwendung der Bing-Rechtschreibprüfung-API, indem Sie eine der folgenden Azure-Ressourcen erstellen:
Bing-Rechtschreibprüfung-Ressource
- Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
- Verwenden Sie den Tarif „Free“, um den Dienst zu testen, und führen Sie später für die Produktion ein Upgrade auf einen kostenpflichtigen Tarif durch.
- Die Bing-Rechtschreibprüfung-API wird auch in einigen Tarifen der Bing-Suche v7-Ressource angeboten.
- Verfügbar über das Azure-Portal, bis Sie die Ressource löschen.
- Verwenden Sie in allen Azure KI Services-Instanzen denselben Schlüssel und Endpunkt für Ihre Anwendungen.
Erstellen und Initialisieren einer Anwendung
Erstellen Sie ein neues Java-Projekt in Ihrer bevorzugten IDE oder in Ihrem bevorzugten Editor mit einem Klassennamen Ihrer Wahl, und importieren Sie die folgenden Pakete:
import java.io.*; import java.net.*; import com.google.gson.*; import javax.net.ssl.HttpsURLConnection;
Erstellen Sie Variablen für den Host, Pfad und Abonnementschlüssel Ihres API-Endpunkts. Erstellen Sie anschließend Variablen für Ihren Markt, für den Text, für den die Rechtschreibprüfung ausgeführt werden soll, und für eine Zeichenfolge für den Rechtschreibprüfungsmodus. Sie können den globalen Endpunkt im folgenden Code oder den Endpunkt der benutzerdefinierten Unterdomäne verwenden, der im Azure-Portal für Ihre Ressource angezeigt wird.
static String host = "https://api.cognitive.microsoft.com"; static String path = "/bing/v7.0/spellcheck"; static String key = "<ENTER-KEY-HERE>"; static String mkt = "en-US"; static String mode = "proof"; static String text = "Hollo, wrld!";
Erstellen und Senden einer API-Anforderung
Erstellen Sie eine Funktion namens
check()
, um die API-Anforderung zu erstellen und zu senden. Fügen Sie in dieser Funktion den in den nächsten Schritten angegebenen Code hinzu. Erstellen Sie eine Zeichenfolge für die Anforderungsparameter:Weisen Sie dem
mkt
-Parameter mit dem=
-Operator Ihren Marktcode zu.Fügen Sie den Parameter
mode
mit dem Operator&
hinzu, und weisen Sie dann den Rechtschreibprüfungsmodus zu.
public static void check () throws Exception { String params = "?mkt=" + mkt + "&mode=" + mode; // add the rest of the code snippets here (except prettify() and main())... }
Kombinieren Sie Host, Pfad und Parameterzeichenfolge Ihres Endpunkts, um eine URL zu erstellen. Erstellen Sie ein neues
HttpsURLConnection
-Objekt.URL url = new URL(host + path + params); HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
Öffnen Sie die URL. Legen Sie die Anforderungsmethode auf
POST
fest, und fügen Sie Ihre Anforderungsparameter hinzu. Achten Sie darauf, dass Sie dem HeaderOcp-Apim-Subscription-Key
Ihren Abonnementschlüssel hinzufügen.connection.setRequestMethod("POST"); connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); connection.setRequestProperty("Ocp-Apim-Subscription-Key", key); connection.setDoOutput(true);
Erstellen Sie ein neues
DataOutputStream
-Objekt, und senden Sie die Anforderung an die API.DataOutputStream wr = new DataOutputStream(connection.getOutputStream()); wr.writeBytes("text=" + text); wr.flush(); wr.close();
Formatieren und Lesen der API-Antwort
Fügen Sie Ihrer Klasse die
prettify()
-Methode hinzu, die den JSON-Code für eine besser lesbare Ausgabe formatiert.// This function prettifies the json response. public static String prettify(String json_text) { JsonParser parser = new JsonParser(); JsonElement json = parser.parse(json_text); Gson gson = new GsonBuilder().setPrettyPrinting().create(); return gson.toJson(json); }
Erstellen Sie ein
BufferedReader
-Element, und lesen Sie die Antwort der API. Geben Sie sie in der Konsole aus.BufferedReader in = new BufferedReader( new InputStreamReader(connection.getInputStream())); String line; while ((line = in.readLine()) != null) { System.out.println(prettify(line)); } in.close();
Aufrufen der API
Rufen Sie in der „main“-Funktion Ihrer Anwendung die zuvor erstellte check()
-Methode auf.
public static void main(String[] args) {
try {
check();
}
catch (Exception e) {
System.out.println (e);
}
}
Ausführen der Anwendung
Erstellen Sie Ihr Projekt, und führen Sie es aus. Geben Sie bei Verwenden der Befehlszeile die folgenden Befehle an, um die Anwendung zu erstellen und auszuführen:
Erstellen Sie die Anwendung:
javac -classpath .;gson-2.2.2.jar\* <CLASS_NAME>.java
Führen Sie die Anwendung aus.
java -cp .;gson-2.2.2.jar\* <CLASS_NAME>
JSON-Beispielantwort
Es wird eine erfolgreiche Antwort im JSON-Format zurückgegeben, wie im folgenden Beispiel gezeigt:
{
"_type": "SpellCheck",
"flaggedTokens": [
{
"offset": 0,
"token": "Hollo",
"type": "UnknownToken",
"suggestions": [
{
"suggestion": "Hello",
"score": 0.9115257530801
},
{
"suggestion": "Hollow",
"score": 0.858039839213461
},
{
"suggestion": "Hallo",
"score": 0.597385084464481
}
]
},
{
"offset": 7,
"token": "wrld",
"type": "UnknownToken",
"suggestions": [
{
"suggestion": "world",
"score": 0.9115257530801
}
]
}
]
}