【发布时间】: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