Java 如何在apache中从angular调用spring引导api

Java 如何在apache中从angular调用spring引导api,java,angular,spring,apache,spring-boot,Java,Angular,Spring,Apache,Spring Boot,我想从我的angular文件调用spring启动中的api 例如:profile.service.ts private baseUrl = '/users'; constructor(private http: HttpClient) { } getProfile(id: number): Observable<Object> { return this.http.get(`${this.baseUrl}` + '/load/' + `${id}`); }

我想从我的angular文件调用spring启动中的api 例如:profile.service.ts

  private baseUrl = '/users';
  constructor(private http: HttpClient) {
  }
  getProfile(id: number): Observable<Object> {
    return this.http.get(`${this.baseUrl}` + '/load/' + `${id}`);
  }
private baseUrl='/users';
构造函数(专用http:HttpClient){
}
getProfile(id:number):可观察{
返回this.http.get(`${this.baseUrl}`+'/load/'+`${id}`);
}
java文件是:UsersController.java

@RestController
@RequestMapping("/users")
public class UsersController {
    @Autowired
    private IUsersService iUsersService;

    @GetMapping("/list/grid")
    public Iterable<UsersViewModel> getAllEmployees() {
        return Dozer.mapList(iUsersService.getAll(), UsersViewModel.class);
    }

    @GetMapping("/load/{id}")
    public UsersViewModel getUserById(@PathVariable(value = "id") Long userId){
        return Dozer.mapClass(iUsersService.findById(userId).get(),UsersViewModel.class);
    }
@RestController
@请求映射(“/users”)
公共类用户控制器{
@自动连线
私人IUSERS服务IUSERS服务;
@GetMapping(“/list/grid”)
公共IT可获取的getAllEmployees(){
返回Dozer.mapList(iUsersService.getAll(),UsersViewModel.class);
}
@GetMapping(“/load/{id}”)
public UsersViewModel getUserById(@PathVariable(value=“id”)Long userId){
返回Dozer.mapClass(iUsersService.findById(userId.get(),UsersViewModel.class);
}
服务器用于Angular的端口是Apache,spring引导端口是8090。 请帮帮我。

你就快到了

@RestController
@CrossOrigin(origins = "http://localhost:4200")
public class UsersController {
...
}
这里唯一值得注意的实现细节是
@CrossOrigin
注释的使用。顾名思义,注释支持服务器上的跨源资源共享(CORS)

这一步并不总是必要的。因为我们正在将角度前端部署到,将引导后端部署到,否则浏览器将拒绝从一个到另一个的请求


很好的参考:

@seyedaliziaei很酷。你面临的问题是什么?检查日志。可能是CORS问题。
@CrossOrigin
将帮助解决如果是CORS,@seyedaliziaei你说的全局是什么意思?你在寻找这个吗?请帮助我。在se中使用时,CrossOrigin适用于端口4200,但不适用于端口80rver@seyedaliziaei如果您使用的是默认的Apache 80端口,则URL将为
http://localhost
无特定端口(因为http默认端口为80)。在其他端口上配置Apache。为了访问控制允许源权限,您需要一个有效的端口和URL,如
http://domain:port/
执行此操作。有关详细信息,请参阅