| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- 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("========================================");
- }
- }
|