连接到spring后端错误

时间:2018-02-14 12:26:58

标签: spring angular http spring-boot

我想尝试从我的前端(Angular 2)到我的后端(Spring)发出一个Post请求。但我不能。

错误:

获取http://localhost:8080/loginPost 405()

无法加载http://localhost:8080/loginPost:否'访问控制 - 允许 - 来源'标头出现在请求的资源上。起源' http://192.168.0.190:4200'因此不允许访问。响应的HTTP状态代码为405。

My Angular Service:

import {Injectable} from "@angular/core";
import { Headers, Http } from '@angular/http';
import 'rxjs/add/operator/toPromise';
import { Login } from'../data-login/models/login.model';

@Injectable()
export class LoginService{


private loginUrl = 'http://localhost:8080/loginPost';  // URL to web API
private headers = new Headers({'Content-Type': 'application/json'});

constructor(private http: Http){}

 loginQuery(login: Login){
   console.log(login.id);
   return this.http.request(this.loginUrl,JSON.stringify(login));
 }
}

我的Spring后端代码:

import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;

@RestController
public class LoginProvider {

   @CrossOrigin(origins = "http://192.168.0.190:4200")
   @PostMapping(value="/loginPost", consumes = { MediaType.APPLICATION_JSON_UTF8_VALUE })
   public ResponseEntity<?> verifyLogin(@RequestBody String maoe){
       System.out.println(maoe);
       return new ResponseEntity<>(HttpStatus.OK);
   }

}

我需要阅读我的前端发送的Json,检查并回答OK,没问题。但是我看不懂Json。我试图将它存储在变量&#34; maoe&#34;

1 个答案:

答案 0 :(得分:1)

您尝试向仅接受 POST 请求的资源发送 GET 请求。这就是为什么你得到405回应。将您的rest服务或angular http服务更改为具有匹配的请求类型。