【发布时间】:2018-02-28 12:33:59
【问题描述】:
我正在使用带有 Spring 后端的 Angular 4。而且....我的帖子请求工作正常。但是获取请求不起作用。看代码:
前端服务:
import { Injectable } from '@angular/core';
import 'rxjs/add/operator/toPromise';
import { Aluno } from '../models/aluno.model';
import {HttpClient} from "@angular/common/http";
import {Observable} from "rxjs/Observable";
@Injectable()
export class UserDataService {
private url = 'http://localhost:8080/getAluno';
constructor(private http: HttpClient){}
getAluno():Observable<Aluno>{
return this.http.get<Aluno>(this.url);
}
}
我的 Spring 后端提供者:
import com.google.gson.Gson;
import com.ifmg.tcc.TADs.Aluno;
import com.ifmg.tcc.TADs.LoginObject;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
@CrossOrigin(origins = "http://localhost:4200")
@RestController
public class LoginProvider {
Gson gson = new Gson();
private boolean verify(LoginObject lo){
if(lo.getCode().equals("lucas") && lo.getPassword().equals("12345")){
return true;
}else{
return false;
}
}
@PostMapping(value = "login")
public ResponseEntity<?> verifyLogin(@RequestBody String login){
System.out.println("LOGIN REALIZADO");
LoginObject loginO = gson.fromJson(login, LoginObject.class);
if(verify(loginO)){
return new ResponseEntity<Boolean>(true,HttpStatus.OK);
}else{
return new ResponseEntity<Boolean>(false,HttpStatus.OK);
}
}
@GetMapping(value = "/getAluno")
public @ResponseBody ResponseEntity<?> getAluno() {
System.out.println("PEGANDO ALUNO");
Aluno aluno = new Aluno("0001","Lucas Alves de Faria","2018/1","10/12/1995",true,"luke@email.com","(37) 999597899","127.831.956-58","MG-19.319.265");
return new ResponseEntity<Aluno>(aluno, HttpStatus.OK);
}
}
该功能在我的后端工作正常验证登录(我在其他服务中调用此功能)。但是fontend不调用其他函数(getAluno)
【问题讨论】:
-
你有没有
.subscribe在你的前端请求?你是说请求永远不会被提出,还是被提出但失败了?
标签: spring angular spring-boot httprequest