Class PostController
java.lang.Object
ru.averkiev.socialmediaapi.controllers.PostController
@RestController
@RequestMapping("/social-media-api/posts")
public class PostController
extends Object
Класс представляет собой REST-контроллер для взаимодействия с постами пользователей.
Этот класс предоставляет API-endpoints для выполнения операций создания и обновления постов, а также добавления и удаления к ним изображений.
Все запросы выполняются в формате JSON.
- Author:
- mrGreenNV
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionorg.springframework.http.ResponseEntity<?>addImageToPost(Long postId, Image image) API-endpoint для прикрепления изображения к посту.org.springframework.http.ResponseEntity<Post>createPost(Post post) API-endpoint для создания нового поста.org.springframework.http.ResponseEntity<?>deleteImage(Long postID, Long imageId) API-endpoint для открепления изображения от поста.org.springframework.http.ResponseEntity<org.springframework.http.HttpStatus>deletePost(Long postId) API-endpoint для удаления поста из базы данных.org.springframework.http.ResponseEntity<?>getAllPosts(Integer page, Integer pageSize) API-endpoint для получения списка всех постов отсортированных по дате создания.getAllPostsByUser(Integer page, Integer pageSize) API-endpoint для вывода списка постов аутентифицированного пользователя.org.springframework.http.ResponseEntity<Post>updatePost(Long postId, Post updatePost) API-endpoint для обновления поста в базе данных.
-
Constructor Details
-
PostController
public PostController()
-
-
Method Details
-
createPost
@PostMapping public org.springframework.http.ResponseEntity<Post> createPost(@RequestBody Post post) API-endpoint для создания нового поста.- Parameters:
post- объект Post содержащий данные для создания поста- Returns:
- объект Post.
-
updatePost
@PutMapping("/{postId}") public org.springframework.http.ResponseEntity<Post> updatePost(@PathVariable Long postId, @RequestBody Post updatePost) API-endpoint для обновления поста в базе данных.- Parameters:
postId- идентификатор обновляемого поста.updatePost- объект Post, содержащий обновленные данные.- Returns:
- объект Post с обновленными данными.
-
deletePost
@DeleteMapping("/{postId}") public org.springframework.http.ResponseEntity<org.springframework.http.HttpStatus> deletePost(@PathVariable Long postId) API-endpoint для удаления поста из базы данных.- Parameters:
postId- идентификатор удаляемого поста.- Returns:
- HTTP статус запроса.
-
addImageToPost
@PostMapping("/{postId}/images") public org.springframework.http.ResponseEntity<?> addImageToPost(@PathVariable Long postId, @RequestBody Image image) API-endpoint для прикрепления изображения к посту.- Parameters:
postId- идентификатор поста, к которому прикрепляется изображение.image- прикрепляемое изображение.- Returns:
- HTTP статус запроса.
-
deleteImage
@DeleteMapping("/{postID}/images/{imageId}") public org.springframework.http.ResponseEntity<?> deleteImage(@PathVariable Long postID, @PathVariable Long imageId) API-endpoint для открепления изображения от поста.- Parameters:
postID- идентификатор постаimageId- идентификатор изображения- Returns:
- HTTP статус запроса.
-
getAllPostsByUser
@GetMapping public org.springframework.http.ResponseEntity<List<Post>> getAllPostsByUser(@RequestParam(required=false) Integer page, @RequestParam(required=false) Integer pageSize) API-endpoint для вывода списка постов аутентифицированного пользователя.- Parameters:
page- номер отображаемой страницы.pageSize- количество отображаемых постов на странице.- Returns:
- список постов или ошибку, если аутентификация не была пройдена.
-
getAllPosts
@GetMapping("/all") public org.springframework.http.ResponseEntity<?> getAllPosts(@RequestParam(required=false) Integer page, @RequestParam(required=false) Integer pageSize) API-endpoint для получения списка всех постов отсортированных по дате создания.- Parameters:
page- номер отображаемой страницы.pageSize- количество отображаемых постов на странице.- Returns:
- список объектов Post.
-