контроллеры

пример контроллера статей

package com.example.demo.controllers;

import com.example.demo.models.Article;
import com.example.demo.repository.ArticleRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;

@RestController
@RequestMapping("/articles")
public class ArticlesController {
    @Autowired
    ArticleRepository repository;

    @GetMapping("")
    public List<Article> getArticles(){
//         List<Article> res = new ArrayList<>();
//         Article art = new Article(1,"sport","its ok","all gooddddddddddddddddddddddd",7);
//         res.add(art);
//        return res;
        return repository.findAll();
    }

    @PostMapping("/new")
    public void newArticle(@RequestBody Article article){
    repository.save(article);
    }

    @PostMapping("/{articleId}")
    public void updateArticle(@RequestBody Article article, @PathVariable Long id){

    }
}

метод пост понимает откуда брать данные благодаря аннотации @RequestBody таким образом мы принимаем данные как аргумент запроса

@PathVariable это аннотация получения данных из гет-параметров запроса указанных в аннотации @PostMapping