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.
-