У меня проблема с моим проектом весенней загрузки mysql, класс контроллера работает только для METHOD GET (получить все), но я не могу опубликовать и получить сообщение об ошибке 405. Метод "POST" не разрешен
Вот мой класс контроллера:
package com.example.demo.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.example.demo.Blog;
import com.example.demo.repository.BlogRespository;
import java.util.List;
import java.util.Map;
@RestController
public class BlogController {
@Autowired
BlogRespository blogRespository;
@GetMapping("/blog")
public List<Blog> index(){
return blogRespository.findAll();
}
@GetMapping("/blog/{id}")
public Blog show(@PathVariable String id){
int blogId = Integer.parseInt(id);
return blogRespository.findById(blogId)
.orElseThrow(() -> new IllegalArgumentException(
"The requested resultId [" + id +
"] does not exist."));
}
@PostMapping("/blog/search")
public List<Blog> search(@RequestBody Map<String, String> body){
String searchTerm = body.get("text");
return blogRespository.findByTitleContainingOrContentContaining(searchTerm, searchTerm);
}
@PostMapping("/blog")
public Blog create(@RequestBody Map<String, String> body){
String title = body.get("title");
String content = body.get("content");
return blogRespository.save(new Blog(title, content));
}
@PutMapping("/blog/{id}")
public Blog update(@PathVariable String id, @RequestBody Map<String, String> body){
int blogId = Integer.parseInt(id);
// getting blog
Blog blog = blogRespository.findById(blogId)
.orElseThrow(() -> new IllegalArgumentException(
"The requested resultId [" + id +
"] does not exist."));
blog.setTitle(body.get("title"));
blog.setContent(body.get("content"));
return blogRespository.save(blog);
}
@DeleteMapping("blog/{id}")
public boolean delete(@PathVariable String id){
int blogId = Integer.parseInt(id);
blogRespository.delete(blogId);
return true;
}
}
и вот мой класс репозитория, если вам это нужно
package com.example.demo.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import com.example.demo.Blog;
import java.util.List;
@Repository
public interface BlogRespository extends JpaRepository<Blog, Integer> {
// custom query to search to blog post by title or content
List<Blog> findByTitleContainingOrContentContaining(String text, String textAgain);
}
Я пытаюсь выполнить запрос POST с помощью SoapUI, и, похоже, просто не могунайти решение, большое спасибо