Un article résumant comment HTTP POST JSON en Java
Seul le style d'écriture minimum nécessaire est résumé.
Par souci de simplicité, nous avons préparé une chaîne de caractères au format JSON. Veuillez consulter d'autres articles pour savoir comment convertir JSON en java.
On suppose que l'appelant instancie cette classe et appelle la méthode execute ().
La procédure est la suivante 1.Définissez les paramètres de connexion avec HttpURLConnection 2. Établissez une connexion 3. Écrivez à la demande et au corps 4. Recevoir une réponse 5. Déconnecter
Sample.java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class Sample {
private HttpURLConnection conn;
private URL url;
private String URL ="https://XXX.YY-ZZZZ.com/WWW/";
private String json =
"{" +
" \"searchCondition\": {" +
" \"conditions\": [" +
"{" +
" \"conditionType\": \"Name\","+
" \"Value\": 200," +
" }"+
"]" +
"}," +
"\"outputMethod\": \"split\","+
"\"zipFileName\": \"DDD.zip\"" +
"}";
private String result;
Sample() throws IOException{
//1.Définissez les paramètres pour vous connecter
//Appelez la méthode openConnection sur l'URL pour créer un objet de connexion
url = new URL(URL);
conn = (HttpURLConnection) url.openConnection();
//Divers paramètres de HttpURLConnection
//Définir la méthode HTTP sur POST
conn.setRequestMethod("POST");
//Autoriser la soumission de la demande par l'organisme
conn.setDoInput(true);
//Autoriser la réception de la réponse par le corps
conn.setDoOutput(true);
//Spécifiez le format Json
conn.setRequestProperty("Content-Type", "application/json; charset=utf-8");
// 2.Établir une connexion
conn.connect();
}
public String execute() throws IOException{
// 3.Ecrire à la demande et au corps
//Obtenez OutputStream à partir de HttpURLConnection et écrivez une chaîne json
PrintStream ps = new PrintStream(conn.getOutputStream());
ps.print(json);
ps.close();
// 4.Recevoir une réponse
//HttpStatusCode 200 est renvoyé à la fin du fonctionnement normal
if (conn.getResponseCode() != 200) {
//La gestion des erreurs
}
//Obtenez InputStream à partir de HttpURLConnection et lisez
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
sb.append(line);
}
result = sb.toString();
// 5.Déconnecter
conn.disconnect();
//Renvoyer le résultat à l'appelant
return result;
}
}
Utilisez la méthode suivante pour définir HtppURLConnection. Pour plus de détails, veuillez vous référer à la référence officielle etc. Utilisez la méthode suivante pour modifier les paramètres de configuration. ・ SetAllowUserInteraction ・ SetDoInput ・ SetDoOutput ・ SetIfModifiedSince ・ SetUseCaches Utilisez la méthode suivante pour modifier les propriétés générales de la requête. ・ SetRequestProperty
Recommended Posts