110 lines
2.6 KiB
Markdown
110 lines
2.6 KiB
Markdown
# Get\_data\_fromAPIGit
|
||
|
||
This project uses Quarkus, the Supersonic Subatomic Java Framework.
|
||
|
||
If you want to learn more about Quarkus, please visit its website: [Quarkus.io](https://quarkus.io/).
|
||
|
||
## Running the application in dev mode
|
||
|
||
You can run your application in dev mode that enables live coding using:
|
||
|
||
```sh
|
||
./mvnw quarkus:dev
|
||
```
|
||
|
||
**NOTE:** Quarkus now ships with a Dev UI, which is available in dev mode only at [http://localhost:8080/q/dev/](http://localhost:8080/q/dev/).
|
||
|
||
## Configuration Requirement
|
||
|
||
To ensure the application functions correctly, you must provide a **GitHub API token** in the `application.properties` file. Due to new GitHub standards, unauthenticated requests are limited to a small number of queries.
|
||
|
||
Add the following line to `src/main/resources/application.properties`:
|
||
|
||
```properties
|
||
github.api.token=your_github_api_token_here
|
||
```
|
||
|
||
## Running the application
|
||
|
||
After configuring the API token, you can run the application using:
|
||
|
||
```sh
|
||
./mvnw quarkus:dev
|
||
```
|
||
|
||
Once running, the API is available at:
|
||
|
||
```
|
||
http://localhost:8080/git/{username}
|
||
```
|
||
|
||
For example:
|
||
|
||
```
|
||
http://localhost:8080/git/pzamorski
|
||
```
|
||
|
||
## Packaging and running the application
|
||
|
||
The application can be packaged using:
|
||
|
||
```sh
|
||
./mvnw package
|
||
```
|
||
|
||
It produces the `quarkus-run.jar` file in the `target/quarkus-app/` directory. Be aware that it’s not an über-jar as the dependencies are copied into the `target/quarkus-app/lib/` directory.
|
||
|
||
The application is now runnable using:
|
||
|
||
```sh
|
||
java -jar target/quarkus-app/quarkus-run.jar
|
||
```
|
||
|
||
If you want to build an über-jar, execute the following command:
|
||
|
||
```sh
|
||
./mvnw package -Dquarkus.package.jar.type=uber-jar
|
||
```
|
||
|
||
The application, packaged as an über-jar, is now runnable using:
|
||
|
||
```sh
|
||
java -jar target/*-runner.jar
|
||
```
|
||
|
||
## Creating a native executable
|
||
|
||
You can create a native executable using:
|
||
|
||
```sh
|
||
./mvnw package -Dnative
|
||
```
|
||
|
||
Or, if you don't have GraalVM installed, you can run the native executable build in a container using:
|
||
|
||
```sh
|
||
./mvnw package -Dnative -Dquarkus.native.container-build=true
|
||
```
|
||
|
||
You can then execute your native executable with:
|
||
|
||
```sh
|
||
./target/git_with_api-1.0.0-SNAPSHOT-runner
|
||
```
|
||
|
||
If you want to learn more about building native executables, please consult [Quarkus Maven Tooling Guide](https://quarkus.io/guides/maven-tooling).
|
||
|
||
## Related Guides
|
||
|
||
- **REST Guide:** A Jakarta REST implementation utilizing build-time processing and Vert.x. This extension is not compatible with the `quarkus-resteasy` extension, or any of the extensions that depend on it.
|
||
|
||
## Provided Code
|
||
|
||
### REST
|
||
|
||
Easily start your REST Web Services.
|
||
|
||
For more details, visit [Quarkus REST Guide](https://quarkus.io/guides/rest-json).
|
||
|
||
|