Text Analysis

無料
よって Bhavya Gaur | 更新済み 9ヶ月前 | Text Analysis
人気

9.9 / 10

レイテンシー

514ms

サービスレベル

100%

すべてのディスカッションに戻る

"validation error, incorrect data passed to the server"

avatar
karimo94
5ヶ月前

I am making a post request to the text summarizer endpoint using HttpUrlConnection.

				URL url = new URL(apiUrl);
				HttpURLConnection client = (HttpURLConnection) url.openConnection();
				client.setRequestProperty("content-type", "application/json");
				client.setRequestProperty("x-rapidapi-host", "text-analysis12.p.rapidapi.com");
				client.setRequestProperty("x-rapidapi-key", "hidden");
				client.setRequestMethod("POST");
				client.setDoOutput(true);

				String jsonBody = "{" +
					"\"language\":\"english\"," +
					"\"summary_percent\":" + summaryPercent + "," +
					"\"text\":" + "\"" + myTestString + "\"" + "}";

				//POST to endpoint first
				try(OutputStream os = client.getOutputStream()) {
					byte[] input = jsonBody.getBytes("utf-8");
					os.write(input, 0, input.length);
				}

For some reason, when I make the request via RapidApi it works, but when I do it via Java the response is always this:

{3 items
"time_taken":0.0007703304290771484
"msg":“validation error, incorrect data passed to the server”
“ok”:false
}

I have made sure my JSON body passed in is in good format. Any ideas?

avatar
gaurmanojkumar530 commented 4ヶ月前

We are glad that you were able to solve the issue. Thank you for choosing us.

avatar
karimo94 commented 5ヶ月前

I have solved it. The way to create the JSON payload is to use Gson library by putting all the request parameters into a map, then using Gson to convert it into proper json. The request now works, thank you.

avatar
karimo94 commented 5ヶ月前

@gaurmanojkumar530 https://devqa.io/how-to-convert-java-map-to-json/

what parameters are we converting from the map to JSON? is it the headers? or the JSON payload itself?

avatar
gaurmanojkumar530 commented 5ヶ月前

I am not familiar with Java.
But do you have a way to convert a Dictionary or Key-Value pair to JSON in Java.
This is the way we do it in python.
It is best to use a dedicated library for this purpose.

ディスカッションに参加しましょう-以下にコメントを追加してください:

ログイン/サインアップして新しいコメントを投稿
評価:4-投票:4