{"id":21631098,"url":"https://github.com/nunum/rest-server-java-skeleton","last_synced_at":"2025-03-18T21:26:08.336Z","repository":{"id":44859027,"uuid":"61446755","full_name":"NunuM/rest-server-java-skeleton","owner":"NunuM","description":"MVC Rest server in JAVA, using JERSEY and JAX-RS, persistence implemented in JPA","archived":false,"fork":false,"pushed_at":"2022-01-21T23:10:38.000Z","size":55,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-24T23:38:00.583Z","etag":null,"topics":["database","http-rest-api","java","jax-rs","jersey","jpa","log4j","rest-api","rest-java-skeleton","rest-server","starting-out-with-java","swagger","swagger-java"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NunuM.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-06-18T18:17:45.000Z","updated_at":"2023-11-23T16:59:40.000Z","dependencies_parsed_at":"2022-09-03T19:01:19.639Z","dependency_job_id":null,"html_url":"https://github.com/NunuM/rest-server-java-skeleton","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NunuM%2Frest-server-java-skeleton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NunuM%2Frest-server-java-skeleton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NunuM%2Frest-server-java-skeleton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NunuM%2Frest-server-java-skeleton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NunuM","download_url":"https://codeload.github.com/NunuM/rest-server-java-skeleton/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244308373,"owners_count":20432186,"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":["database","http-rest-api","java","jax-rs","jersey","jpa","log4j","rest-api","rest-java-skeleton","rest-server","starting-out-with-java","swagger","swagger-java"],"created_at":"2024-11-25T02:13:11.623Z","updated_at":"2025-03-18T21:26:08.312Z","avatar_url":"https://github.com/NunuM.png","language":"Java","readme":"# REST Server in Java - Starter Application\n\nRest server in JAVA, using JERSEY and JAX-RS, persistence implemented in JPA and also Swagger for auto-generated documentation in a non-servlet environment making this application is an excellent starting point to build your application.\n\n## Important Aspects\n\n- AppSettings class is reponsable to hold your start up settings application.\n\n- The persistence is decoupled from the database, you can save your data on every database you want, in AppSettings is declarated the Repository factory that PersistenceContext instantiates in runtime using reflection.\n\n- The database in use is [H2](https://www.h2database.com/html/main.html), which we can use as a volatile database because it has the option to run in [memory](https://github.com/NunuM/rest-server-java-skeleton/blob/master/src/main/resources/META-INF/persistence.xml#L13), in other words, each application shutdown erases all the data. This can be modified by changing the [jdbc database connection string](https://alvinalexander.com/java/jdbc-connection-string-mysql-postgresql-sqlserver)\n\n- The Javax Persistence implementation is provided by the [eclipse link](https://www.eclipse.org/eclipselink/documentation/2.7/)\n\n## Run\n\n- With **maven**, build the project with the following command:\n\n ```bash\n  mvn package\n ```\n\n- Finnaly, to **run the application**:\n ```bash\n java -jar target/app/app.jar\n ```\n\n## Example\n\nThe application when starts it bootstraps some actors and we can check them by:\n\n```bash\ncurl http://localhost:8080/actor\n```\n\nor opening our browser: http://localhost:8080/actor  to see the result.\n\n## Swagger:\n\nThis starter application alread comes with swagger that can generate automatic documentation on a Java server without having a servlet container. \n\n```bash\ncurl http://localhost:8080/swagger/swagger.json\n```\n\nor in your browser: http://localhost:8080/swagger/swagger.json\n\nOpen an issue if you find any problem :+1:\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnunum%2Frest-server-java-skeleton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnunum%2Frest-server-java-skeleton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnunum%2Frest-server-java-skeleton/lists"}