Suche nach POST-Anforderung mit Azure Search + Java Apache HttpClient

Offizielle Dokumentation

Search Documents (Azure Cognitive Search REST API) https://docs.microsoft.com/en-us/rest/api/searchservice/Search-Documents

Fazit

Ich war ein wenig süchtig nach der Tatsache, dass die URL bei einer POST-Anfrage anders war.

Code


package hello;

import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URIBuilder;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;

import com.google.gson.JsonObject;

public class HelloAzurePostSearch {

	public static void main(String[] args) throws Exception {

//Offizielle Dokumentation
// https://docs.microsoft.com/en-us/rest/api/searchservice/Search-Documents

// POST https://[service name].search.windows.net/indexes/[index name]/docs/search
//		?api-version=[api-version]
//	  Content-Type: application/json  
//		  api-key: [admin or query key]

		String serviceName = "{your service name}";
		String indexName = "{your index name}";
		String apiVersion = "2019-05-06";

		String adminKey = "{your admin key}";

		URIBuilder builder = new URIBuilder("https://" + serviceName + ".search.windows.net" //
				+ "/indexes/" + indexName + "/docs" //
				+ "/search" //← Beachten Sie, dass die URL zwischen GET und POST unterschiedlich ist!
		) //
				.addParameter("api-version", apiVersion);

		JsonObject requestBody = new JsonObject();
		{
			requestBody.addProperty("search", "*");
			requestBody.addProperty("count", true);
		}

		CloseableHttpClient client = HttpClients.createDefault();

		HttpPost httpPost = new HttpPost(builder.build());
		httpPost.addHeader("api-key", adminKey);

		StringEntity requestEntity //
				= new StringEntity(requestBody.toString(), ContentType.APPLICATION_JSON);

		httpPost.setEntity(requestEntity);

		CloseableHttpResponse response = client.execute(httpPost);

		System.err.println(response.getStatusLine().getStatusCode());

		// response body
		System.err.println(EntityUtils.toString(response.getEntity()));

		client.close();

	}

}


das ist alles

Recommended Posts

Suche nach POST-Anforderung mit Azure Search + Java Apache HttpClient
Grundlegende Authentifizierung mit Java 11 HttpClient
Suchen und Ausführen einer Methode aus einer Instanz mit Verarbeitung (Java)
Verwendung von HttpClient (Post) von Java
Einführung in Algorithmen mit Java-Suche (Tiefenprioritätssuche)
[Java] Behandeln Sie Excel-Dateien mit Apache POI
Hinzufügen eines Dokuments zum Azure Search Service (Java)
Holen Sie sich Zeitstempel mit dem Azure BlobStorage Java SDK
Einführung in Algorithmen mit Java --Search (Breitenprioritätssuche)
Erstellen Sie mit Docker eine Apache- und Tomcat-Umgebung. Übrigens Maven & Java Kooperation
Mehrteilige Anforderungsantwort von HttpURLConnection (und Apache Commons)
Testübermittlung (SHA-256-Mining für Blockchain von Java)
Einführung in Algorithmen mit Java --Search (Bit Full Search)
Einführung automatisierter Java-Tests mit JUnit 5 + Apache Maven
Stellen Sie Java-Webanwendungen mit maven in Azure bereit
[Java] Holen Sie sich Bilder mit der Google Custom Search API