myFoo(productData : Product) : Observable<any>{
let headers = new Headers();
headers.append( 'Content-Type', 'application/json' );
let myOptions = new RequestOptions({ headers: headers });
return this._http
.post("http://localhost:8081/..(URI)../productslist",productData,myOptions)
.map( (resp : Response) => resp.json() )
}
productData : any = {
price: 3500,
productavaliabledate: "March 13, 2018",
productcode: "GND-124",
productid: 6,
productimage: "https://i.imgur.com/sJUpSpt.jpg",
productname: "dummy1",
productrating: 3
}
@RestController
public class OnlineShoppingController {
@Autowired
private ProductService productService;
@RequestMapping(path="/productslist",method =RequestMethod.POST)
public Product createProduct(@Valid @RequestBody Product product) {
return productService.createProduct(product);
}
}
其中Product是DTO/Entity对象IE:
@Entity
@Table(name="product_table")
public class Product {
@Id
@Column(name="productid", columnDefinition="INT(100)")
private int productid;
@Column(name="productname")
private String productname;
@Column(name="productcode")
private String productcode;
@Column(name="productavaliabledate")
private String productavaliabledate;
@Column(name="price" , columnDefinition="INT(100)")
private int price;
@Column(name="productrating", columnDefinition="INT(50)")
private int productrating;
@Column(name="productimage")
private String productimage;
//getter,setter,constructor using field are also provided
}
这是Spring Boot配置的问题,而不是Angular应用程序。403禁止状态表示:对来自客户端的web页面请求的响应,或者它可能指示可以到达服务器并处理该请求,但服务器拒绝采取任何进一步的操作。
最后,我添加了一个类AppConfig,它扩展了WebMvcConfigurerAdapter并覆盖了一个方法addCorsMappings(),以便允许我访问所有HTTP方法请求。
AppConfig.java-
@Configuration
public class AppConfig extends WebMvcConfigurerAdapter {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedMethods("HEAD", "GET", "PUT", "POST", "DELETE", "PATCH");
}
};
}
}
security.basic.enabled=false
我在angular 2中使用以下头对服务器进行API GET调用。我的angular 2代码如下: 我的spring boot CORS代码如下:
所有人。我是Angular 2和Spring框架的新手。我正在尝试一个带有授权头(基本身份验证)的简单get请求。 我使用的是Spring Boot(1.2.6.Release),这也可能是相关的。我的CORS配置如下所示。 帮帮我,我不知道我错过了什么...我已经查了很多帖子,但都没找到。
使用Java进行一个简单的“delivery_quotes”调用进行测试,返回HTTP响应代码-403 我正在使用的客户ID和测试API密钥是正确的。任何帮助!
我使用作为服务器端的Spring-boot并提供一个虚拟服务进行测试 其中我的serviceCaller.java=
托管webservice应用程序的环境Tomcat服务器。网站是用SpringMVC和AngularJS搭建的。 核心问题:REST GET触发了OPTIONS请求,该请求失败。有问题的GET返回一个应用程序/JSON响应。最初,我得到的错误是: "未能加载资源:服务器以状态403(禁止)响应 加载超文本传输协议失败://myServer: 8084/wsPRDE/navbar/getnavbar
如何从的结果中获取HTTP状态?