【问题标题】:Request method 'POST' not supported Spring SecuritySpring Security 不支持请求方法“POST”
【发布时间】:2020-06-16 08:08:44
【问题描述】:

大家好,我发现了一个我无法解决的问题,我会解释情况,如果你有任何想法可以帮助我解决它,并提前致谢。

我有带有restController的项目spring boot包含这个方法:

@CrossOrigin("*")
@PostMapping(path = "/payerTickets")
@ResponseBody
@Transactional
public List<Ticket> payerTickets(@RequestBody TicketForm ticketForm) {
    List<Ticket> listTickets = new ArrayList<>();
    ticketForm.getTickets().forEach(idTicket -> {
        Ticket ticket = ticketRepository.findById(idTicket).get();
        ticket.setNomClient(ticketForm.getNomClient());
        ticket.setReserve(true);
        ticket.setCodePayement(ticketForm.getCodePayement());
        ticketRepository.save(ticket);
        listTickets.add(ticket);
    });
    return listTickets;
}


@Data
class TicketForm {
    private String nomClient;
    private int codePayement;
    private List<Long> tickets = new ArrayList<>();
}

当我在前端用角度调用这个方法时,这里是代码 TypeScript:

onPayTickets(dataForm) {
let  tickets=[];
this.selectedTickets.forEach(t=>{
  tickets.push(t.id)
});
dataForm.tickets=tickets;
this.cinemaService.payerTickets(dataForm).subscribe(data=>{ alert("Tickets réservés avec success"); 
this.onGetTicketsPlaces(this.currentProjection) },error => { console.log(error); })

}

我得到错误:

错误:“不允许的方法”,消息:“不支持请求方法'POST'”,跟踪:“org.springframework.web.HttpRequestMethodNotSupport...a:61) ↵ 在 java.lang.Thread.run(未知来源) ↵",

注意:在添加 Spring Security 之前,该方法运行良好,这是我的 securityConfig:

@Override
protected void configure(HttpSecurity http) throws Exception {
    //http.formLogin().loginPage("/login");
    http.formLogin();
    http.authorizeRequests().antMatchers("/save**/**","/delete**/**","/form**/**","/add**/**").hasRole("ADMIN");
    http.exceptionHandling().accessDeniedPage("/notAuthorized");
}

希望您了解情况,如果您需要更多信息,请添加评论,再次感谢您。

【问题讨论】:

    标签: java spring spring-boot spring-security


    【解决方案1】:

    看看这个link,你可能需要通过添加来禁用 CSRF

    .csrf().disable()
    

    配置方法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-12
      • 2017-02-25
      • 2016-06-16
      • 2015-05-01
      相关资源
      最近更新 更多