Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 32 additions & 3 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
Expand Down Expand Up @@ -41,6 +41,36 @@
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.5.3.Final</version>
</dependency>

<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.5.3.Final</version>
<scope>provided</scope>
</dependency>

<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<version>8.0.33</version>
</dependency>

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>

<build>
Expand All @@ -52,7 +82,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.3.0</version>
<version>${maven.checkstyle.plugin.version}</version>
<executions>
<execution>
<phase>compile</phase>
Expand All @@ -70,5 +100,4 @@
</plugin>
</plugins>
</build>

</project>
17 changes: 17 additions & 0 deletions src/main/java/mate/academy/rickandmorty/config/SwaggerConfig.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
//package mate.academy.rickandmorty.config;
//
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
//@Configuration
//public class SwaggerConfig {
//
// @Bean
// public Docket api() {
// return new Docket(DocumentationType.SWAGGER_2)
// .select()
// .apis(RequestHandlerSelectors.basePackage("com.example.rickandmorty"))

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The base package specified here is com.example.rickandmorty, which might not match your actual package structure. Consider changing it to mate.academy.rickandmorty to ensure Swagger scans the correct package for API documentation.

// .paths(PathSelectors.any())
// .build();
// }
//}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package mate.academy.rickandmorty.controller;

import java.util.List;
import mate.academy.rickandmorty.model.Character;
import mate.academy.rickandmorty.service.CharacterService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/api/characters")
public class CharacterController {

@Autowired
private CharacterService characterService;

@GetMapping("/random")
public Character getRandomCharacter() {
return characterService.getRandomCharacter();
}

@GetMapping("/search")
public List<Character> searchCharactersByName(@RequestParam String name) {
return characterService.searchCharactersByName(name);
}
}
156 changes: 156 additions & 0 deletions src/main/java/mate/academy/rickandmorty/dto/external/CharacterDto.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
package mate.academy.rickandmorty.dto.external;

import java.util.List;

public class CharacterDto {
private int id;
private String name;
private String status;
private String species;
private String type;
private String gender;
private OriginDto origin;
private LocationDto location;
private String image;
private List<String> episodes;
private String url;
private String created;

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getStatus() {
return status;
}

public void setStatus(String status) {
this.status = status;
}

public String getSpecies() {
return species;
}

public void setSpecies(String species) {
this.species = species;
}

public String getType() {
return type;
}

public void setType(String type) {
this.type = type;
}

public String getGender() {
return gender;
}

public void setGender(String gender) {
this.gender = gender;
}

public OriginDto getOrigin() {
return origin;
}

public void setOrigin(OriginDto origin) {
this.origin = origin;
}

public LocationDto getLocation() {
return location;
}

public void setLocation(LocationDto location) {
this.location = location;
}

public String getImage() {
return image;
}

public void setImage(String image) {
this.image = image;
}

public List<String> getEpisodes() {
return episodes;
}

public void setEpisodes(List<String> episodes) {
this.episodes = episodes;
}

public String getUrl() {
return url;
}

public void setUrl(String url) {
this.url = url;
}

public String getCreated() {
return created;
}

public void setCreated(String created) {
this.created = created;
}

public static class OriginDto {
private String name;
private String url;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getUrl() {
return url;
}

public void setUrl(String url) {
this.url = url;
}
}

public static class LocationDto {
private String name;
private String url;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getUrl() {
return url;
}

public void setUrl(String url) {
this.url = url;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
package mate.academy.rickandmorty.dto.external;

import java.util.List;

public class EpisodeDto {
private int id;
private String name;
private String airDate;
private String episode;
private List<String> characters;
private String url;
private String created;

public int getId() {
return id;
}

public void setId(int id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getAirDate() {
return airDate;
}

public void setAirDate(String airDate) {
this.airDate = airDate;
}

public String getEpisode() {
return episode;
}

public void setEpisode(String episode) {
this.episode = episode;
}

public List<String> getCharacters() {
return characters;
}

public void setCharacters(List<String> characters) {
this.characters = characters;
}

public String getUrl() {
return url;
}

public void setUrl(String url) {
this.url = url;
}

public String getCreated() {
return created;
}

public void setCreated(String created) {
this.created = created;
}
}
Loading
Loading