【问题标题】:how to call spring boot api from angular in apache如何在apache中从角度调用spring boot api
【发布时间】:2019-12-06 14:51:10
【问题描述】:

我想从我的角度文件中调用 spring boot 中的 api 例如:profile.service.ts

  private baseUrl = '/users';
  constructor(private http: HttpClient) {
  }
  getProfile(id: number): Observable<Object> {
    return 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);
    }

Angular 使用的服务器是 Apache,spring-boot 端口是 8090。 请帮帮我。

【问题讨论】:

    标签: java angular spring apache spring-boot


    【解决方案1】:

    你快到了。

    @RestController
    @CrossOrigin(origins = "http://localhost:4200")
    public class UsersController {
    ...
    }
    

    这里唯一值得注意的实现细节是@CrossOrigin 注释的使用。顾名思义,注解在服务器上启用了跨域资源共享(CORS)。

    这一步并不总是必要的。由于我们将 Angular 前端部署到 http://localhost:4200 并将 Boot 后端部署到 http://localhost:8090,否则浏览器将拒绝从一个到另一个的请求。

    推荐:https://www.baeldung.com/spring-boot-angular-web

    【讨论】:

    • @seyedaliziaei 酷。您面临的问题是什么?检查日志。可能是CORS问题。如果是 CORS,@CrossOrigin 将帮助解决。
    • @seyedaliziaei 你所说的全球是什么意思?你在找这个stackoverflow.com/questions/37980914/…
    • 请帮助我。 crossorigin 适用于端口 4200,但在构建 Angular 以在服务器中使用时不适用于端口 80
    • @seyedaliziaei 如果您使用默认的 Apache 80 端口,则 URL 将是 http://localhost 没有特定端口(因为 http 默认端口是 80)。在其他端口上配置 Apache。为了获得 Access-Control-Allow-Origin 权限,您需要一个有效的端口和 URL,如 http://domain:port/ 来执行此操作。更多信息请参考digitalocean.com/community/questions/…
    猜你喜欢
    • 2018-12-20
    • 1970-01-01
    • 2018-12-05
    • 2020-06-08
    • 2021-03-13
    • 1970-01-01
    • 1970-01-01
    • 2019-04-24
    • 2020-08-23
    相关资源
    最近更新 更多