我在春天的休息服务中遇到了问题。即使在启用CORS之后,我也无法连接到我的角度应用程序。
@CrossOrigin
public class UsuarioController {
@Autowired
UsuarioService service;
@RequestMapping(method = RequestMethod.GET, value = "/lista_todos_usuarios", produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<Collection<Usuario>> buscaTodosUsuarios() {
Collection<Usuario> usuarios = service.buscaTodosUsuarios();
return new ResponseEntity<>(usuarios, HttpStatus.OK);
}
}
答案 0 :(得分:0)
来自Enabling Cross Origin Requests for a RESTful Web Service
在您的情况下,我认为您需要指明允许访问服务的来源。
在示例中,原点为http://localhost:9000
。它应该与您的Angular应用程序相对应。
启用CORS
控制器方法CORS配置
这样RESTful Web服务将包含CORS访问控制 在回复中标题,您只需要添加
@CrossOrigin
处理程序方法的注释:src/main/java/hello/GreetingController.java
@CrossOrigin(origins = "http://localhost:9000") @GetMapping("/greeting") public Greeting greeting(@RequestParam(required=false, defaultValue="World") String name) { System.out.println("==== in greeting ===="); return new Greeting(counter.incrementAndGet(), String.format(template, name)); }
答案 1 :(得分:0)
作为一个非常简单的解决方法,我建议为Chrome安装CORS扩展插件,并在初始开发阶段使用它。
答案 2 :(得分:0)
如果您需要全局配置,可以在Web配置中覆盖 WebMvcConfigurerAdapter 的方法 addCorsMappings :
TFRecord
答案 3 :(得分:0)
谢谢尼古拉,有时我们错过了明显的事情。呵呵呵
事实上,我忘了使用@RestController注释该类。