请求方法"POST"不支持错误弹簧启动和 ajax。但是GET没有同样的错误



抱歉问了一遍又一遍的问题,但我已经尝试了很多解决方案,但都没有效果,

我有这个类和表Draft在index.html中我有一个包含许多数据的表,我想使用ajax将所有数据传递给Controller类将该数据保存在数据库中的draft表中,相当于draft类。

请求方法'POST'不支持。

问题是GET不返回这个错误,我想用POST传递数据。

这是我的草稿控制器类

@Controller
@Secured({"ADMIN","SUPER_ADMIN"})
public class DraftController {
@Autowired
private DraftService draftService;
@PostMapping("/newdraft")
public @ResponseBody Draft AddDraft(@RequestBody Draft draft, BindingResult result) {
draftService.save(draft); // save the draft to database
return draft;
}
}

这是我的ajax函数

$("#draftFormSubmit").on('click',function(e) {
e.preventDefault();
call_draft();
});

function call_draft() {
var draft = {
"id": 1,
"user_id":5,
"lowest_cost_found":3,
"paper_used":3,
"print_type":3,
"actual_ups_per_paper":3,
"quantity":3,
"color":3,
"size":3,
"gloss_lam":3,
"matt_lam":3,
"water_based":3,
"uv":3,
"varnish":3,
"spot_uv":3,
"emboss_deboss":3,
"hot_stamping":3,
"diecut":3,
"creasing_line":3,
"total_price":3,
"markup":3,
"final_price":3
}

$.ajax({
type: "POST",
contentType: "application/json",
url: "/newdraft",
data: JSON.stringify(draft),
dataType: 'json',
success: function(data) {
alert("success");
console.log(data)
},
error: function() {
alert("failed");
}
});
}

只有在这个项目中出现错误,当我在另一个项目上写一个简单的POST时,它没有这个错误。提前感谢!

尝试添加以下

@Controller
@RequestMapping("/")  // <------------
@Secured({"ADMIN","SUPER_ADMIN"})
public class DraftController {

并再次检查

相关内容