no message

main
HUOJIN\92525 2025-09-02 17:37:06 +08:00
parent 68a277643a
commit 42547d103c
3 changed files with 68 additions and 40 deletions

View File

@ -1,42 +1,75 @@
package com.youchain.utils;
import org.apache.commons.compress.utils.IOUtils;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.StandardCharsets;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
@Slf4j
public class HttpPostUtil {
public static String sendPostReq(String api_url, String request) {
InputStream instr = null;
String str = null;
public static String sendPostReq(String apiUrl, String jsonRequest) {
HttpURLConnection connection = null;
try {
URL url = new URL(api_url);
URLConnection urlCon = url.openConnection();
urlCon.setConnectTimeout(3000);
byte[] xmlData = request.getBytes();
urlCon.setDoOutput(true);
urlCon.setDoInput(true);
urlCon.setUseCaches(false);
urlCon.setRequestProperty("content-Type", "application/json");
urlCon.setRequestProperty("charset", "UTF-8");
urlCon.setRequestProperty("Content-length", String.valueOf(xmlData.length));
DataOutputStream printout = new DataOutputStream(urlCon.getOutputStream());
printout.write(xmlData);
printout.flush();
printout.close();
instr = urlCon.getInputStream();
byte[] bis = IOUtils.toByteArray(instr);
String ResponseString = new String(bis, "UTF-8");
if ((ResponseString == null) || ("".equals(ResponseString.trim()))) {
System.out.println("返回空");
// 创建URL对象并建立连接
URL url = new URL(apiUrl);
connection = (HttpURLConnection) url.openConnection();
// 配置连接参数
connection.setConnectTimeout(5000);
connection.setReadTimeout(10000);
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setUseCaches(false);
connection.setRequestMethod("POST");
// 设置HTTP头
connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
connection.setRequestProperty("Accept", "application/json");
// 写入请求体
byte[] requestData = jsonRequest.getBytes(StandardCharsets.UTF_8);
connection.setRequestProperty("Content-Length", String.valueOf(requestData.length));
try (OutputStream os = connection.getOutputStream()) {
os.write(requestData);
}
// 处理响应
int responseCode = connection.getResponseCode();
if (responseCode >= HttpURLConnection.HTTP_BAD_REQUEST) {
// 错误处理
try (InputStream errorStream = connection.getErrorStream()) {
String errorResponse = "";
if (errorStream != null) {
errorResponse = new String(IOUtils.toByteArray(errorStream), StandardCharsets.UTF_8);
}
log.error("HTTP请求失败: 状态码={}, 错误响应={}", responseCode, errorResponse);
return null;
}
}
// 读取正常响应
try (InputStream inputStream = connection.getInputStream()) {
String response = new String(IOUtils.toByteArray(inputStream), StandardCharsets.UTF_8);
if (response.trim().isEmpty()) {
log.warn("HTTP请求返回空响应");
}
return response;
}
} catch (IOException e) {
log.error("HTTP请求异常: {}", e.getMessage(), e);
return null;
} finally {
// 确保连接断开
if (connection != null) {
connection.disconnect();
}
str = ResponseString;
} catch (Exception e) {
System.out.println("接口异常!");
// throw new Error(e.getMessage());
}
return str;
}
}

View File

@ -51,7 +51,7 @@ public class KMReSController {
kmReService.missionStateCallback(agvTask, missionStatus, containerCode, currentPosition);
return new ResponseEntity<>(ApiResult.success(), HttpStatus.OK);
} catch (Exception e) {
return new ResponseEntity<>(ApiResult.fail(e.getMessage()), HttpStatus.BAD_REQUEST);
return new ResponseEntity<>(ApiResult.fail(e.getMessage()), HttpStatus.OK);
}
}
@ -62,17 +62,12 @@ public class KMReSController {
@AnonymousAccess
public ResponseEntity<Object> submitMission(@RequestBody SubmitMission submitMission) {
try {
kmReService.sendAgvTaskToContainer(UrlApi.submitMission(),JSON.toJSONString(submitMission));
kmReService.sendAgvTaskToContainer(UrlApi.submitMission(), JSON.toJSONString(submitMission));
return new ResponseEntity<>(ApiResult.success(), HttpStatus.OK);
} catch (Exception e) {
return new ResponseEntity<>(ApiResult.fail(e.getMessage()), HttpStatus.BAD_REQUEST);
return new ResponseEntity<>(ApiResult.fail(e.getMessage()), HttpStatus.OK);
}
}
}

View File

@ -79,7 +79,7 @@ public class LesController {
lesService.genAgvSchedulingTask(lesRequest);
return new ResponseEntity<>(LesResult.success(id), HttpStatus.OK);
} catch (Exception e) {
return new ResponseEntity<>(LesResult.fail(id, e.getMessage()), HttpStatus.BAD_REQUEST);
return new ResponseEntity<>(LesResult.fail(id, e.getMessage()), HttpStatus.OK);
}
}