From 95ec28b13e70130c5813ab4201fd6c67132fe1bb Mon Sep 17 00:00:00 2001 From: PracticumJava Date: Thu, 31 Mar 2022 23:57:33 +0300 Subject: [PATCH 1/5] add meet-spring_spring-boot-and-rest --- .gitignore | 1 + pom.xml | 40 ++++++++++++++++++ .../catsgram/CatsgramApplication.java | 13 ++++++ .../catsgram/controller/PostController.java | 25 +++++++++++ .../catsgram/controller/SimpleController.java | 13 ++++++ .../yandex/practicum/catsgram/model/Post.java | 41 +++++++++++++++++++ src/main/resources/application.properties | 1 + .../catsgram/CatsgramApplicationTests.java | 13 ++++++ 8 files changed, 147 insertions(+) create mode 100644 pom.xml create mode 100644 src/main/java/ru/yandex/practicum/catsgram/CatsgramApplication.java create mode 100644 src/main/java/ru/yandex/practicum/catsgram/controller/PostController.java create mode 100644 src/main/java/ru/yandex/practicum/catsgram/controller/SimpleController.java create mode 100644 src/main/java/ru/yandex/practicum/catsgram/model/Post.java create mode 100644 src/main/resources/application.properties create mode 100644 src/test/java/ru/yandex/practicum/catsgram/CatsgramApplicationTests.java diff --git a/.gitignore b/.gitignore index a1c2a238..1bc94f32 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* +/.idea/ diff --git a/pom.xml b/pom.xml new file mode 100644 index 00000000..a4bdb80c --- /dev/null +++ b/pom.xml @@ -0,0 +1,40 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.6.1 + + + ru.yandex.practicum + catsgram + 0.0.1-SNAPSHOT + catsgram + Мини-версия популярной соцсети с фотографиями котов. + + 11 + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + diff --git a/src/main/java/ru/yandex/practicum/catsgram/CatsgramApplication.java b/src/main/java/ru/yandex/practicum/catsgram/CatsgramApplication.java new file mode 100644 index 00000000..63f822d5 --- /dev/null +++ b/src/main/java/ru/yandex/practicum/catsgram/CatsgramApplication.java @@ -0,0 +1,13 @@ +package ru.yandex.practicum.catsgram; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class CatsgramApplication { + + public static void main(String[] args) { + SpringApplication.run(CatsgramApplication.class, args); + } + +} diff --git a/src/main/java/ru/yandex/practicum/catsgram/controller/PostController.java b/src/main/java/ru/yandex/practicum/catsgram/controller/PostController.java new file mode 100644 index 00000000..2b19e51d --- /dev/null +++ b/src/main/java/ru/yandex/practicum/catsgram/controller/PostController.java @@ -0,0 +1,25 @@ +package ru.yandex.practicum.catsgram.controller; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; +import ru.yandex.practicum.catsgram.model.Post; +import java.util.ArrayList; +import java.util.List; + +@RestController +public class PostController { + + private final List posts = new ArrayList<>(); + + @GetMapping("/posts") + public List findAll() { + return posts; + } + + @PostMapping(value = "/post") + public void create(@RequestBody Post post) { + posts.add(post); + } +} \ No newline at end of file diff --git a/src/main/java/ru/yandex/practicum/catsgram/controller/SimpleController.java b/src/main/java/ru/yandex/practicum/catsgram/controller/SimpleController.java new file mode 100644 index 00000000..be3380f6 --- /dev/null +++ b/src/main/java/ru/yandex/practicum/catsgram/controller/SimpleController.java @@ -0,0 +1,13 @@ +package ru.yandex.practicum.catsgram.controller; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class SimpleController { + + @GetMapping("/home") + public String homePage() { + return "Котограм"; + } +} diff --git a/src/main/java/ru/yandex/practicum/catsgram/model/Post.java b/src/main/java/ru/yandex/practicum/catsgram/model/Post.java new file mode 100644 index 00000000..6a4b8868 --- /dev/null +++ b/src/main/java/ru/yandex/practicum/catsgram/model/Post.java @@ -0,0 +1,41 @@ +package ru.yandex.practicum.catsgram.model; + +import java.time.Instant; + +public class Post { + + private final String author; // автор + private final Instant creationDate = Instant.now(); // дата создания + private String description; // описание + private String photoUrl; // url-адрес фотографии + + public Post(String author, String description, String photoUrl) { + this.author = author; + this.description = description; + this.photoUrl = photoUrl; + } + + public String getAuthor() { + return author; + } + + public Instant getCreationDate() { + return creationDate; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getPhotoUrl() { + return photoUrl; + } + + public void setPhotoUrl(String photoUrl) { + this.photoUrl = photoUrl; + } +} \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1 @@ + diff --git a/src/test/java/ru/yandex/practicum/catsgram/CatsgramApplicationTests.java b/src/test/java/ru/yandex/practicum/catsgram/CatsgramApplicationTests.java new file mode 100644 index 00000000..32936573 --- /dev/null +++ b/src/test/java/ru/yandex/practicum/catsgram/CatsgramApplicationTests.java @@ -0,0 +1,13 @@ +package test.java.ru.yandex.practicum.catsgram; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class CatsgramApplicationTests { + + @Test + void contextLoads() { + } + +} From aae974b2a85dd80f7038ee14b2ec6175a3014bd5 Mon Sep 17 00:00:00 2001 From: Andrey Smirnov <96820749+sgumail@users.noreply.github.com> Date: Sun, 1 May 2022 20:12:40 +0300 Subject: [PATCH 2/5] refactor: Add class User.java & UserController.java --- README.md | 3 ++- .../catsgram/controller/UserController.java | 4 ++++ .../yandex/practicum/catsgram/model/User.java | 23 +++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 src/main/java/ru/yandex/practicum/catsgram/controller/UserController.java create mode 100644 src/main/java/ru/yandex/practicum/catsgram/model/User.java diff --git a/README.md b/README.md index be242fe9..5daedfac 100644 --- a/README.md +++ b/README.md @@ -1 +1,2 @@ -# module2_catsgram \ No newline at end of file +# module2_catsgram +branch: develop diff --git a/src/main/java/ru/yandex/practicum/catsgram/controller/UserController.java b/src/main/java/ru/yandex/practicum/catsgram/controller/UserController.java new file mode 100644 index 00000000..6f19fac3 --- /dev/null +++ b/src/main/java/ru/yandex/practicum/catsgram/controller/UserController.java @@ -0,0 +1,4 @@ +package ru.yandex.practicum.catsgram.controller; + +public class UserController { +} diff --git a/src/main/java/ru/yandex/practicum/catsgram/model/User.java b/src/main/java/ru/yandex/practicum/catsgram/model/User.java new file mode 100644 index 00000000..f136ceb3 --- /dev/null +++ b/src/main/java/ru/yandex/practicum/catsgram/model/User.java @@ -0,0 +1,23 @@ +package ru.yandex.practicum.catsgram.model; + +import java.time.LocalDate; +import java.util.Objects; + +public class User { + private String email; + private String nickname; + private LocalDate birthdate; + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + User user = (User) o; + return Objects.equals(email, user.email) && Objects.equals(nickname, user.nickname) && Objects.equals(birthdate, user.birthdate); + } + + @Override + public int hashCode() { + return Objects.hash(email, nickname, birthdate); + } +} From 77d0c38708b485b8eec5fcbad25c4189856125e5 Mon Sep 17 00:00:00 2001 From: Andrey Smirnov <96820749+sgumail@users.noreply.github.com> Date: Sun, 1 May 2022 20:12:40 +0300 Subject: [PATCH 3/5] refactor: Add class User.java & UserController.java --- README.md | 3 ++- .../catsgram/controller/UserController.java | 4 ++++ .../yandex/practicum/catsgram/model/User.java | 23 +++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 src/main/java/ru/yandex/practicum/catsgram/controller/UserController.java create mode 100644 src/main/java/ru/yandex/practicum/catsgram/model/User.java diff --git a/README.md b/README.md index be242fe9..5daedfac 100644 --- a/README.md +++ b/README.md @@ -1 +1,2 @@ -# module2_catsgram \ No newline at end of file +# module2_catsgram +branch: develop diff --git a/src/main/java/ru/yandex/practicum/catsgram/controller/UserController.java b/src/main/java/ru/yandex/practicum/catsgram/controller/UserController.java new file mode 100644 index 00000000..6f19fac3 --- /dev/null +++ b/src/main/java/ru/yandex/practicum/catsgram/controller/UserController.java @@ -0,0 +1,4 @@ +package ru.yandex.practicum.catsgram.controller; + +public class UserController { +} diff --git a/src/main/java/ru/yandex/practicum/catsgram/model/User.java b/src/main/java/ru/yandex/practicum/catsgram/model/User.java new file mode 100644 index 00000000..f136ceb3 --- /dev/null +++ b/src/main/java/ru/yandex/practicum/catsgram/model/User.java @@ -0,0 +1,23 @@ +package ru.yandex.practicum.catsgram.model; + +import java.time.LocalDate; +import java.util.Objects; + +public class User { + private String email; + private String nickname; + private LocalDate birthdate; + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + User user = (User) o; + return Objects.equals(email, user.email) && Objects.equals(nickname, user.nickname) && Objects.equals(birthdate, user.birthdate); + } + + @Override + public int hashCode() { + return Objects.hash(email, nickname, birthdate); + } +} From 3893a430c802e87a1c063c2232c1b6fd82c0154b Mon Sep 17 00:00:00 2001 From: Andrew Smirnov Date: Tue, 30 Jan 2024 13:46:27 +0300 Subject: [PATCH 4/5] README.md --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 5daedfac..7fbfddfa 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,6 @@ # module2_catsgram branch: develop + +**Catsgram** - приложение для обмена фотографиями любетелей животных. + +Используемые технологии: начальная работа с Rest-API, изучение ветвлений в Git-е. From 84d5701dd21533aeb0ea4322bd943a03004f658a Mon Sep 17 00:00:00 2001 From: Andrew Smirnov Date: Tue, 30 Jan 2024 13:52:04 +0300 Subject: [PATCH 5/5] README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7fbfddfa..c8db6fdb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # module2_catsgram branch: develop -**Catsgram** - приложение для обмена фотографиями любетелей животных. +**Catsgram** - приложение для обмена фотографиями любителей животных. Используемые технологии: начальная работа с Rest-API, изучение ветвлений в Git-е.