CORS支持春季

时间:2017-02-13 07:41:19

标签: spring spring-mvc cors

我的一个项目遇到了问题。我是新来的春天所以请帮助。即使在通过配置类启用CORS后,我仍然遇到一些方法问题。

@Override
public void addCorsMappings(CorsRegistry registry) {
    registry.addMapping("/**").allowedOrigins("*");
}

这是来自配置类的片段。

在控制器中,我必须使用@CrossOrigin

显式地注释处理程序
@CrossOrigin
@RequestMapping(value = "/complete_project", method = RequestMethod.PUT)
public ResponseEntity<Void> markProjectComplete(@RequestParam(name = "pid") Long pId,
        @RequestParam(name = "score") Double score,
        @RequestParam(required = false, name = "date") @DateTimeFormat(pattern = "yyyy-MM-dd") Date date) {
    if (date == null)
        date = new Date();
    Long eId = projectService.markCompleted(pId, score, date);
    employeeService.updateScore(eId);
    return new ResponseEntity<Void>(HttpStatus.OK);
}

这是ajax调用

var url='http://localhost:8080/EmployeeExample/complete_project?pid='+$('#project_form_id').val()+'&score='+$('#project_completion_form_score').val();
        if($('#project_completion_form_date').val()!="")
            url+='&date='+$('#project_completion_form_date').val();
        console.log($('#project_completion_form_date').val());
        $.ajax({
            url: url,
            type: 'PUT'
        })
        .done(function() {
            console.log("success");
            refresh_project_list();
        })
        .fail(function() {
            console.log("error");
        })
        .always(function() {
            console.log("complete");
        });

我想知道为什么需要明确注释处理程序。没有它它就无法运作。

0 个答案:

没有答案