{"id":20660913,"url":"https://github.com/openfeign/feign-vertx","last_synced_at":"2025-09-25T17:30:49.167Z","repository":{"id":43683048,"uuid":"66348573","full_name":"OpenFeign/feign-vertx","owner":"OpenFeign","description":"Use Feign on Vert.x","archived":false,"fork":false,"pushed_at":"2024-07-14T15:45:29.000Z","size":140,"stargazers_count":54,"open_issues_count":0,"forks_count":17,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-07-15T15:38:11.942Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenFeign.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-23T08:29:17.000Z","updated_at":"2024-07-14T15:45:26.000Z","dependencies_parsed_at":"2024-07-14T15:32:07.887Z","dependency_job_id":"3b397f28-ff82-40ef-a9a8-1161b38f072a","html_url":"https://github.com/OpenFeign/feign-vertx","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenFeign%2Ffeign-vertx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenFeign%2Ffeign-vertx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenFeign%2Ffeign-vertx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenFeign%2Ffeign-vertx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenFeign","download_url":"https://codeload.github.com/OpenFeign/feign-vertx/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234221051,"owners_count":18798306,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-16T19:06:30.557Z","updated_at":"2025-09-25T17:30:48.842Z","avatar_url":"https://github.com/OpenFeign.png","language":"Java","readme":"# feign-vertx\n\n[![CI](https://github.com/OpenFeign/feign-vertx/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/OpenFeign/feign-vertx/actions/workflows/ci.yml)\n[![Coverage Status](https://coveralls.io/repos/github/hosuaby/vertx-feign/badge.svg?branch=master)](https://coveralls.io/github/hosuaby/vertx-feign?branch=master)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.github.openfeign/feign-vertx/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.github.openfeign/feign-vertx)\n[![javadoc](https://javadoc.io/badge2/io.github.openfeign/feign-vertx/javadoc.svg)](https://javadoc.io/doc/io.github.openfeign/feign-vertx)\n\nImplementation of Feign on Vertx. Brings you the best of two worlds together : \nconcise syntax of Feign to write client side API on fast, asynchronous and\nnon-blocking HTTP client of Vertx.\n\n## Installation\n\n### With Maven\n\n```xml\n\u003cdependencies\u003e\n    ...\n    \u003cdependency\u003e\n        \u003cgroupId\u003eio.github.openfeign\u003c/groupId\u003e\n        \u003cartifactId\u003efeign-vertx\u003c/artifactId\u003e\n        \u003cversion\u003e6.0.1\u003c/version\u003e\n    \u003c/dependency\u003e\n    ...\n\u003c/dependencies\u003e\n```\n\n### With Gradle\n\n```groovy\ncompile group: 'io.github.openfeign', name: 'feign-vertx', version: '6.0.1'\n```\n\n## Compatibility\n\nFeign                  | feign-vertx | Vertx\n---------------------- |-------------| ----------------------\n8.x                    | 1.x+        | 3.5.x - 3.9.x (except 3.5.2)\n9.x                    | 2.x+        | 3.5.x - 3.9.x (except 3.5.2)\n10.x (except 10.5.0)   | 3.x+        | 3.5.x - 3.9.x (except 3.5.2)\n11.x                   | 4.x+        | 3.5.x - 3.9.x (except 3.5.2)\n11.x                   | 5.x+        | 4.x\n12.x                   | unsupported |\n13.x                   | 6.x+        | 4.x\n\n## Usage\n\nWrite Feign API as usual, but every method of interface must return\n`io.vertx.core.Future`.\n\n```java\n@Headers({ \"Accept: application/json\" })\ninterface IcecreamServiceApi {\n\n  @RequestLine(\"GET /icecream/flavors\")\n  Future\u003cCollection\u003cFlavor\u003e\u003e getAvailableFlavors();\n\n  @RequestLine(\"GET /icecream/mixins\")\n  Future\u003cCollection\u003cMixin\u003e\u003e getAvailableMixins();\n\n  @RequestLine(\"POST /icecream/orders\")\n  @Headers(\"Content-Type: application/json\")\n  Future\u003cBill\u003e makeOrder(IceCreamOrder order);\n\n  @RequestLine(\"GET /icecream/orders/{orderId}\")\n  Future\u003cIceCreamOrder\u003e findOrder(@Param(\"orderId\") int orderId);\n  \n  @RequestLine(\"POST /icecream/bills/pay\")\n  @Headers(\"Content-Type: application/json\")\n  Future\u003cVoid\u003e payBill(Bill bill);\n}\n```\nBuild the client :\n\n```java\nVertx vertx = Vertx.vertx();  // get Vertx instance\n\n/* Create instance of your API */\nIcecreamServiceApi icecreamApi = VertxFeign\n    .builder()\n    .vertx(vertx) // provide vertx instance\n    .encoder(new JacksonEncoder())\n    .decoder(new JacksonDecoder())\n    .target(IcecreamServiceApi.class, \"http://www.icecreame.com\");\n    \n/* Execute requests asynchronously */\nFuture\u003cCollection\u003cFlavor\u003e\u003e flavorsFuture = icecreamApi.getAvailableFlavors();\nFuture\u003cCollection\u003cMixin\u003e\u003e mixinsFuture = icecreamApi.getAvailableMixins();\n```\n\n## License\n\nLibrary distributed under Apache License Version 2.0.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenfeign%2Ffeign-vertx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenfeign%2Ffeign-vertx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenfeign%2Ffeign-vertx/lists"}