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
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    org.springframework.http.ResponseEntity<?>
    addImageToPost(Long postId, Image image)
    API-endpoint для прикрепления изображения к посту.
    org.springframework.http.ResponseEntity<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 для получения списка всех постов отсортированных по дате создания.
    org.springframework.http.ResponseEntity<List<Post>>
    API-endpoint для вывода списка постов аутентифицированного пользователя.
    org.springframework.http.ResponseEntity<Post>
    updatePost(Long postId, Post updatePost)
    API-endpoint для обновления поста в базе данных.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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.