Я создаю API с помощью весенней загрузки. В этом проекте я использовал Spring Web, JPA, jstl и MySql как зависимости API. В этом проекте я создал контроллер, модель и репозиторий. По сути, этот API выполняет операции CRUD. А также я создал клиент, который использует мой собственный API. Когда я использую Postman для POST-данных, он успешно вставляет данные в базу данных и выдает мне 200 OK кода. Затем я создал веб-страницу, создал HTML-форму и использовал Ajax для получения этих данных. Но дело в том, что когда я нажимаю кнопку вставки в форме, это дает мне эту ошибку.
Страница ошибки Whitelabel
Это приложение не имеет явного сопоставления для / error, поэтому вы видите
это как запасной вариант.
вт. 01 мая 05:16:48 IST 2018 Произошла непредвиденная ошибка
(тип = метод не разрешен, статус = 405). Способ запроса 'POST' отсутствует
поддерживается
Как я могу это исправить ??
Мой контроллер:
package com.kisalka.pacrestapi.controller;
import java.util.List;
import javax.validation.Valid;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import com.kisalka.pacrestapi.repository.ImRepository;
import com.kisalka.pacrestapi.model.ImModel;
@RestController
@RequestMapping("/api")
public class ImController {
@Autowired
private ImRepository TaskRepository;
@RequestMapping(method=RequestMethod.POST, value="/tasks")
public ImModel createNote(@RequestBody ImModel note) {
return TaskRepository.save(note);
}
}
Моя веб-страница:
<form class="form-horizontal" method="POST" action="">
<div class="form-group">
<label class="control-label col-md-3">Project Name</label>
<div class="col-md-7">
<input type="text" class="form-control" name="pname" id="txtPname"/>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3">Developer Name</label>
<div class="col-md-7">
<input type="text" class="form-control" name="devname" id="txtDevname"/>
</div>
</div>
<div class="form-group">
<input type="submit" class="btn btn-primary" value="Save" id="btnRegister"/>
</div>
</form>
JQuery и Ajax:
<script type="text/javascript">
$(document).ready(function () {
// Save the new user details
$('#btnRegister').click(function () {
$.ajax({
url: '/api/tasks',
method: 'POST',
data: {
pname: $('#txtPname').val(),
devname: $('#txtDevname').val()
},
success: function () {
alert("Inserted");
},
error: function (jqXHR) {
$('#divErrorText').text(jqXHR.responseText);
$('#divError').show('fade');
}
});
});
});
</script>