You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
1.3 KiB

3 years ago
# RandomRedditMemesAPI
an API that returns random Reddit Submissions written in Java
## build and run
### build project
first make sure you're using Gradle 6.8 and openjdk-jdk8
to build the project just run:
```
gradle build
```
### run
to execute the .jar archive you built before run:
```
java -jar ./build/libs/RandomRedditMemesAPI.jar
```
### run inside docker
to execute the .jar file inside docker use docker-compose:
```
3 years ago
docker-compose -p RandomRedditMemesAPI up -d
```
### build docker image
if you want to build a full docker image run:
```
docker build .
```
alternatively you can use `./docker/docker-compose.yml`
## API
the baseurl for the API is: `http://127.0.0.1/api/v1`
### subreddits
subreddit syntax `[baseurl]/r/[subreddit]/[type]`
[type] syntax
* `all` - returns the first 100 submissions of the subreddits page
* `random` - returns one random submission of the first 100
* `[0-99]` - returns a specific one
* if undefined returns random
the response looks like:
```
{
"subs":[{
"score": Integer,
"nsfw": Boolean,
"author": String,
"text": String,
"time": Integer,
"title": String,
"downvotes": Integer,
"permalink": String,
"subreddit": String,
"url": String,
}],
"error": Boolean/String,
"type":String
}
```