import com.sun.net.httpserver.HttpServer; import com.sun.net.httpserver.HttpHandler; import com.sun.net.httpserver.HttpExchange; import java.io.IOException; import java.io.OutputStream; import java.net.InetSocketAddress; import java.nio.charset.StandardCharsets; public class CardApiServer { public static void main(String[] args) throws IOException { HttpServer server = HttpServer.create(new InetSocketAddress(8666), 0); server.createContext("/api/card", new HttpHandler() { @Override public void handle(HttpExchange exchange) throws IOException { if ("GET".equals(exchange.getRequestMethod())) { try { BankCardBean cardBean = VirCardNoUtils.getBankCardBean(); String json = String.format( "{\"cardNo\":\"%s\",\"bankId\":\"%s\",\"cvv\":\"%s\",\"bankName\":\"%s\",\"validityPeriod\":\"%s\",\"holderName\":\"%s\",\"gender\":\"%s\",\"holderIdCardNo\":\"%s\"}", cardBean.getCardNo(), cardBean.getBankId(), cardBean.getCvv(), cardBean.getBankName(), cardBean.getValidityPeriod(), cardBean.getHolderName(), cardBean.getGender(), cardBean.getHolderIdCardNo() ); exchange.getResponseHeaders().set("Content-Type", "application/json; charset=UTF-8"); exchange.getResponseHeaders().set("Access-Control-Allow-Origin", "*"); exchange.sendResponseHeaders(200, json.getBytes(StandardCharsets.UTF_8).length); OutputStream os = exchange.getResponseBody(); os.write(json.getBytes(StandardCharsets.UTF_8)); os.close(); } catch (Exception e) { e.printStackTrace(); String error = "{\"error\":\"" + e.getMessage() + "\"}"; exchange.sendResponseHeaders(500, error.getBytes(StandardCharsets.UTF_8).length); OutputStream os = exchange.getResponseBody(); os.write(error.getBytes(StandardCharsets.UTF_8)); os.close(); } } else { exchange.sendResponseHeaders(405, -1); } } }); server.setExecutor(null); server.start(); System.out.println("========================================"); System.out.println("信用卡生成 API 服务器已启动!"); System.out.println("API 地址: http://localhost:8666/api/card"); System.out.println("========================================"); } }