我是角度区域的新手。我使用angular 2创建了自助服务亭,现在我想编写RESTful API来与asp.net应用程序进行通信。我如何编写RESTful API规范?
答案 0 :(得分:0)
首先使用ASP.NET创建MVC Web API项目。方法在控制器中作为REST API工作。但是你必须为你的角应用程序返回JSON结果。
您可以在绑定到Angular之前使用POSTMan测试API。
答案 1 :(得分:0)
步骤-1 - >第一步是我们需要在我们的应用程序模块中导入@NgModule装饰器的元数据中配置HttpModule。
import { BrowserModule } from '@angular/platform-browser';
import { HttpModule } from '@angular/http';
@NgModule({
---------
imports: [
BrowserModule,
HttpModule
]
---------
})
步骤-2 - >我们应该在服务类而不是组件中执行服务器通信。这种方法在设计上是优选的。在服务类中,我们将使用依赖注入来获取角度Http的实例,如下所示。
constructor(private http:Http) { }
步骤-3 - >现在我们准备发布了
Observable<Response> ob = this.http.post(this.url, book, options);
示例 - &gt;
import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import { Headers, RequestOptions } from '@angular/http';
import { Observable } from 'rxjs';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/toPromise';
import { Book } from './book';
@Injectable()
export class BookService {
url = "api/books";
constructor(private http:Http) { }
getBooksWithObservable(): Observable<Book[]> {
return this.http.get(this.url)
.map(this.extractData)
.catch(this.handleErrorObservable);
}
}
答案 2 :(得分:0)
1.首先创建Asp .net MVC Web API项目(EventController创建)
2.Craete Angular Application
3.使用Angular CLI创建服务文件(ng g s event)
4.添加HttpModule,JsonpModule导入应用程序模块并将提供程序添加到EventService。
import { EventService } from './events/event.service';
import { BrowserModule } from '@angular/platform-browser';
import { HttpModule, JsonpModule } from '@angular/http';
@NgModule({
imports: [
BrowserModule,
HttpModule,
JsonpModule
],
providers: [
EventServise,
],
})
5.Edit event.service.ts文件(Asp.net Project Without Cross Origin Add)
import { Injectable } from '@angular/core';
import { Http, RequestOptions, Headers, Response } from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class EventService {
constructor(private http: Http) { }
setMethod(event:any){
console.log(event);
return this.http.post('/events', event).map((response: Response) => response.json());
}
getAllEventData(){
return this.http.get('/events').map((response: Response) => response.json());
}
}
在项目的根目录中创建一个名为proxy.conf.json的新文件,并在其中定义代理,如下所示
{
"/": {
"target": "http://localhost:8090/api",
"secure": false
}
}
如果我们为asp .net web api添加Cross origin。我们可以在没有proxy.conf.json的情况下使用,所以我们可以编辑第5步
import { Injectable } from '@angular/core';
import { Http, RequestOptions, Headers, Response } from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class EventService {
constructor(private http: Http) { }
setMethod(event:any){
console.log(event);
return this.http.post('http://localhost:8090/api/events', event).map((response: Response) => response.json());
}
getAllEventData(){
return this.http.get('http://localhost:8090/api/events').map((response: Response) => response.json());
}
}
答案 3 :(得分:-1)
免费试用此: 适用于许多MySQL系统以及未来其他系统的CRUD API
将REST API添加到MySQL 5.6 InnoDB,MariaDB数据库的单个文件PHP 5.6脚本。