Java 如何修复请求方法';邮政';在Spring Boot中不受支持?
我正在使用SpringBoot创建一个API。在这个项目中,我使用SpringWeb、JPA、jstl和MySql作为API的依赖项。在这个项目中,我创建了一个控制器、模型和存储库。基本上,此API执行CRUD操作。我还创建了一个使用我自己的API的客户端。当我使用Postman发布数据时,它成功地将数据插入数据库,并给出了200 OK代码。然后我创建了网页,创建了一个html表单,并使用Ajax获取数据。但问题是,当我在表单中单击insert按钮时,它会给我这个错误 白标错误页 此应用程序没有/error的显式映射,因此您可以看到 这是一种退路 2018年5月1日星期二05:16:48发生意外错误 (类型=不允许的方法,状态=405)。请求方法“POST”不可用 支持 我怎样才能解决这个问题 我的控制器:Java 如何修复请求方法';邮政';在Spring Boot中不受支持?,java,jquery,ajax,spring,spring-boot,Java,Jquery,Ajax,Spring,Spring Boot,我正在使用SpringBoot创建一个API。在这个项目中,我使用SpringWeb、JPA、jstl和MySql作为API的依赖项。在这个项目中,我创建了一个控制器、模型和存储库。基本上,此API执行CRUD操作。我还创建了一个使用我自己的API的客户端。当我使用Postman发布数据时,它成功地将数据插入数据库,并给出了200 OK代码。然后我创建了网页,创建了一个html表单,并使用Ajax获取数据。但问题是,当我在表单中单击insert按钮时,它会给我这个错误 白标错误页 此应用程序没有
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>
$(文档).ready(函数(){
//保存新的用户详细信息
$('#btnRegister')。单击(函数(){
$.ajax({
url:“/api/tasks”,
方法:“POST”,
数据:{
pname:$('#txtPname').val(),
devname:$('#txtDevname').val()
},
成功:函数(){
警告(“插入”);
},
错误:函数(jqXHR){
$('#diversorText').text(jqXHR.responseText);
$('diveror')。显示('fade');
}
});
});
});
为什么既有带有提交按钮的表单,又有ajax请求?很可能是表单先提交,这意味着请求被发送到“”,这将解释为什么您会得到一个405:不支持的请求方法“POST”
试着替换
<form class="form-horizontal" method="POST" action="">
为了
为什么既有带有提交按钮的表单,又有ajax请求?很可能是表单先提交,这意味着请求被发送到“”,这将解释为什么您得到一个405:请求方法'POST'不受支持
我这样尝试,现在我得到了这个错误-出现了一个意外错误(type=Unsupported Media type,status=415)。“内容类型”应用程序/x-www-form-urlencoded;不支持字符集=UTF-8'。。如何修复此问题???@Amithash从ImModel note
前面删除@RequestBody
。它工作正常!!:I’谢谢你。。如果可以的话,也请帮我-现在我可以使用表单插入数据了。但是,当我使用Postman时,数据库中没有插入任何内容。如何解决此问题??您需要确保在Postman中有一个标题行,其中包含键内容类型
和值应用程序/x-www-form-urlencoded
<form class="form-horizontal" method="POST" action="/api/tasks">