cURL a Java
Pega un comando curl y obtén código con el HttpClient de Java 11, que compila solo con el JDK.
cURL a Java funciona íntegramente en tu navegador: los comandos que pegas, incluidos sus tokens, se convierten en tu dispositivo y nunca se suben.
Abrir cURL a C#
Acerca de cURL a Java
Java tuvo por fin un cliente HTTP decente en la versión 11, y eso quitó la razón principal para recurrir a OkHttp o Apache solo para reproducir un comando curl. El constructor es limpio pero tiene reglas: GET y DELETE no llevan cuerpo, POST y PUT sí, y cualquier otro verbo —incluido PATCH— pasa por la llamada genérica. Equivocarse hace que el código no compile o que pierda la carga en silencio. Este conversor analiza los parámetros de curl y genera código que respeta esas reglas, con los imports justos y el -u codificado correctamente.
Características
- Genera código java.net.http que compila solo con el JDK
- Llamada correcta del constructor para cada verbo, PATCH incluido
- DELETE con cuerpo pasa automáticamente a la forma genérica
- Cuerpos con BodyPublishers.ofString y escapado correcto
- Autenticación básica con java.util.Base64 en vez de una cabecera cruda
- Imports añadidos solo para lo que usa la petición
- Avisa de parámetros de curl sin equivalente
- Descarga el resultado como un Main.java listo para compilar
Cómo usar cURL a Java
- Pega el comando curl con sus cabeceras y su cuerpo
- Lee el Java generado según escribes
- Cópialo o descarga Main.java
- Compila con cualquier JDK 11 o superior: no hace falta nada más
Ejemplo
Entrada
curl -X PATCH https://api.example.com/users/1 -d '{"role":"admin"}'
Salida
.method("PATCH", HttpRequest.BodyPublishers.ofString("{\"role\":\"admin\"}"))
El constructor no tiene atajo para PATCH, así que pasa por method(): un detalle que se escapa al portar a mano.
Errores comunes y solución de problemas
- No existe el método .PATCH() en el constructor. — Correcto: solo hay atajos para GET, POST, PUT y DELETE. El resto usa method(nombre, publisher), como hace el código generado.
- Un DELETE con cuerpo pierde la carga. — DELETE() no admite publisher, así que el cuerpo se descarta. El conversor pasa a method("DELETE", …) cuando hay datos.
- El cuerpo de la respuesta llega vacío o ilegible. — Revisa el body handler: ofString() decodifica en UTF-8 y otra codificación necesita la sobrecarga con Charset.
Preguntas frecuentes
- ¿Cómo convierto curl a Java?
- Pega el comando arriba: método, URL, cabeceras y cuerpo se reescriben como una petición java.net.http con la llamada adecuada.
- ¿El código generado necesita dependencias?
- No. Usa java.net.http, que forma parte del JDK desde Java 11, así que compila sin nada en el classpath.
- ¿Cómo hago una petición PATCH en Java?
- Con la llamada genérica: .method("PATCH", HttpRequest.BodyPublishers.ofString(cuerpo)), porque no hay atajo dedicado.
- ¿Se envía la petición al convertirla?
- No. Esta herramienta solo reescribe texto: nada se ejecuta y la conversión ocurre en tu navegador.
Herramientas relacionadas
- cURL a Fetch — Convierte un comando curl en una llamada fetch() de JavaScript.
- curl a Python — Convierte un comando curl en un script de Python con requests.
- cURL a C# — Convierte un comando curl en código C# con HttpClient.
- curl a Go — Convierte un comando curl en código de Go con net/http.
- cURL a Rust — Convierte un comando curl a código Rust con reqwest.
- Cliente de API — Envía peticiones HTTP, crea cabeceras y parámetros e inspecciona respuestas; guarda tus últimas 25.
Todas las herramientas de ArrayKit