{"id":20648933,"url":"https://github.com/codearte/resteeth","last_synced_at":"2025-09-04T09:45:07.244Z","repository":{"id":22792491,"uuid":"26138766","full_name":"Codearte/resteeth","owner":"Codearte","description":null,"archived":false,"fork":false,"pushed_at":"2016-12-07T18:53:23.000Z","size":134,"stargazers_count":14,"open_issues_count":7,"forks_count":1,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-29T05:41:36.188Z","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/Codearte.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}},"created_at":"2014-11-03T21:06:58.000Z","updated_at":"2017-02-08T14:18:25.000Z","dependencies_parsed_at":"2022-08-21T12:00:30.804Z","dependency_job_id":null,"html_url":"https://github.com/Codearte/resteeth","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Codearte%2Fresteeth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Codearte%2Fresteeth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Codearte%2Fresteeth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Codearte%2Fresteeth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Codearte","download_url":"https://codeload.github.com/Codearte/resteeth/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249280535,"owners_count":21243138,"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-16T17:11:46.630Z","updated_at":"2025-04-16T21:43:55.290Z","avatar_url":"https://github.com/Codearte.png","language":"Java","readme":"Resteeth\n========\n\nResteeth dynamically creates rest clients based on plain java interface with Spring MVC annotations. Ready to use beans are available through standard Spring injections.\n\n[![Build Status](https://travis-ci.org/Codearte/resteeth.svg)](https://travis-ci.org/Codearte/resteeth) [![Coverage Status](https://img.shields.io/coveralls/Codearte/resteeth.svg)](https://coveralls.io/r/Codearte/resteeth?branch=master) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/eu.codearte.resteeth/resteeth/badge.svg)](https://maven-badges.herokuapp.com/maven-central/eu.codearte.resteeth/resteeth) [![Apache 2](http://img.shields.io/badge/license-Apache%202-red.svg)](http://www.apache.org/licenses/LICENSE-2.0)\n\nUsage\n-----\n\n1) Add dependencies\n\nIn Maven projects (pom.xml):\n\n```xml\n\u003cpom\u003e\n    ...\n    \u003cdependencies\u003e\n        \u003cdependency\u003e\n            \u003cgroupId\u003eeu.codearte.resteeth\u003c/groupId\u003e\n            \u003cartifactId\u003eresteeth\u003c/artifactId\u003e\n            \u003cversion\u003e0.2.0\u003c/version\u003e\n        \u003c/dependency\u003e\n    \u003c/dependencies\u003e\n    ...\n\u003c/pom\u003e\n```\n\nIn Gradle projects (build.gradle):\n\n```groovy\nrepositories {\n   mavenCentral()\n}\n...\ntestCompile 'eu.codearte.resteeth:resteeth:0.2.0'\n```\n\n2) Enable configuration\n\nIn SpringBoot projects Resteeth will work out of the box without any configuration needed. For classical projects you have to annotate your configuration with `@EnableResteeth`\n\n```java\n@Configuration\n@EnableResteeth\npublic class FooSpringConfig {\n\n}\n```\n\n3) Prepare interface\n\n```java\ninterface FooRestInterface {\n\n\t@RequestMapping(value = \"/foos/{id}\", method = RequestMethod.GET)\n\tFoo getFoo(@PathVariable(\"id\") Integer id);\n\n\t@RequestMapping(value = \"/foos\", method = RequestMethod.POST)\n\tvoid postFoo(@RequestBody Foo user);\n\n}\n```\n\n4) Use!\n\nwith single URL\n\n```java\n@RestClient(endpoints = {\"http://api.mydomain.com\"})\nprivate FooRestInterface fooRestInterface;\n\nFoo foo = fooRestInterface.getFoo(123);\n```\n\nor with round robin load balancing\n\n```java\n@RestClient(endpoints = {\"http://api1.mydomain.com/\", \"http://api2.mydomain.com/\"})\nprivate FooRestInterface fooRestInterface;\n\nFoo foo = fooRestInterface.getFoo(123);\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodearte%2Fresteeth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodearte%2Fresteeth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodearte%2Fresteeth/lists"}