Я изучаю Spring Boot и только начал изучать базу данных H2.Мне удалось отправить HTTP-запрос GET, чтобы вставить новую строку в мою базу данных, но я не могу удалить ее.
Вот как я вставил новую строку:
@GetMapping("/addAlien")
public String addAlien(Alien alien) {
rep.save(alien);
return "home.jsp";
}
Это код JSP, который я использую для отправки запроса GET:
<form action="addAlien">
<input type="text" name="id"><br>
<input type="text" name="name"><br>
<input type="text" name="points"><br>
<input type="submit"><br>
</form>
И этоэто файл SQL, который я использую для заполнения базы данных H2
insert into alien values (101, 'Bilu', 100)
insert into alien values (102, 'Vargínia', 100)
insert into alien values (103, 'Meeseek', 100)
insert into alien values (104, 'Jack', 100)
insert into alien values (105, 'MrPopButthole', 100)
У меня есть другая форма, подобная той, которую я использовал для отправки запроса GET, но для отправки "/ deleteAlien".И отправка активирует приведенный ниже код, хотя он не работает:
@DeleteMapping("/deleteAlien")
public int deleteAlien(@RequestParam int id) {
rep.deleteById(id);
ModelAndView mv = new ModelAndView("showAlien.jsp");
Alien alien = rep.findById(id).orElse(null);
mv.addObject(alien);
return id;
}
После отправки я получаю эту ошибку здесь:
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
Thu Sep 19 06:12:27 BRT 2019
There was an unexpected error (type=Method Not Allowed, status=405).
Request method 'GET' not supported
org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'GET' not supported...
Что я хочу сделать, это указать ""int id "через форму, затем удалите строку с одинаковым идентификатором.
РЕШЕНИЕ: мне удалось решить проблему с помощью Почтальона, чтобы отправить правильный HTTP-запрос.Это работает, но я был бы признателен, если бы кто-то велел мне сделать это, используя jsp.file и форму.
Это код, который работает:
@DeleteMapping("/alien/{id}")
public String deleteAlien(@PathVariable("id") int id) {
Alien a = rep.getOne(id);
rep.delete(a);
return "deleted";
}
Мне просто нужно открытьПочтальон и настройте его для отправки УДАЛИТЬ, используя "localhost: 8080 / alien / id".