请求方法'POST'不支持错误spring Boot 和 AJAX ,但是GET没有相同的错误

gk7wooem  于 2023-01-09  发布在  Spring
关注(0)|答案(1)|浏览(138)

很抱歉问了这么多问题,但是我已经尝试了很多解决方案,但是没有一个有效。
因此,我有这个类和表Draft,在index.html中,我有一个包含许多数据的表,我想使用** AJAX 将所有这些数据传递给后端的Controller**类,以将这些数据保存在数据库中的草稿表中,该表相当于类Draft。
但发生此错误请求方法'POST'不受支持。
问题是GET不返回这个错误,我想使用POST来传递数据。
这是我的Draft控制器类

@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对另一个项目它没有这个错误。谢谢你提前!

sr4lhrrt

sr4lhrrt1#

尝试添加以下内容

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

再检查一遍

相关问题