私はAng 2のhttpからWeb Apiに投稿要求を送信していますが、私は500のエラーを受け取ります。私は、その内部サーバーのエラーを知っているので、私はいくつか間違いが要求をreciveingしている。しかし、私はそれを把握できません。 Informaの上についてAngular 2 http .Net Core Web APIのApi 500のエラー
ページコンポーネント
import { Component , OnInit } from '@angular/core';
import { NavController } from 'ionic-angular';
import { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';
import { Observable } from 'rxjs/Observable';
import { UserInformation } from '../../providers/user-information';
import { Employee } from './bruker';
@Component({
selector: 'page-account-creation',
templateUrl: 'account-creation.html',
providers: [UserInformation]
})
export class AccountCreationPage implements OnInit {
constructor(public navCtrl: NavController, private userInformation: UserInformation, private _fb: FormBuilder) {
this.userInformation = userInformation;
}
public myForm: FormGroup;
bruker: Employee;
ionViewDidLoad() {
}
ngOnInit() {
// the short way
this.myForm = this._fb.group({
Employee: this._fb.group({
EmployeeID: ['', <any>Validators.required],
FirstName: [],
LastName: []
})
});
this.userInformation.getlogin().subscribe(
data => console.log(data),
err => console.log(err),
() => console.log('Task Complete'));
}
onSubmit(model: Employee) {
console.log(model);
var x = this.userInformation.createuser(model).subscribe(
data => console.log(data),
err => console.log(err),
() => console.log('Post Complete'));
}
}
サービス
import { Injectable } from '@angular/core';
import { Http, Response , Headers, RequestOptions, URLSearchParams} from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/map';
import { Employee } from '../pages/account-creation/bruker';
@Injectable()
export class UserInformation {
private Url = 'http://localhost:63817/api/Bruker/'; // URL to web API
headers: Headers;
options: RequestOptions;
constructor(private http: Http) {
}
createuser(bruker: Employee): Observable<Response>{
console.log(JSON.stringify(bruker));
let bodyString = JSON.stringify(bruker); // Stringify payload
// let headers = new Headers({ 'Content-Type': 'application/json' }); // ... Set content type to JSON
// let options = new RequestOptions({ headers: headers });
return this.http.post(this.Url + "NyBruker", bodyString,{headers: this.getHeaders()})
.map(response => response.json(),
error => { debugger; });
}
private getHeaders(){
let headers = new Headers();
headers.append('Accept', 'application/json');
return headers;
}
}
のREST API
using Crashy_Backends.Model;
using Crashy_Backends.Services;
using Crashy_Backends.Services.Interfaces;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json.Linq;
using Microsoft.AspNetCore.Routing;
using System.Net.Http;
using System.Net;
namespace Crashy_Backends.Controllers
{
public class Employee
{
public int EmployeeID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
[Route("api/[controller]")]
public class BrukerController : Controller
{
private IBrukerService _BrukerService;
public BrukerController(IBrukerService BrukerService)
{
this._BrukerService = BrukerService;
}
[Route("NyBruker")]
[HttpPost]
public Employee NyBruker([FromBody]Employee bruker)
{
var x = bruker.EmployeeID;
return bruker;
}
}
}
いただきまし例外::)
はこれを試してみてください? –
どうすれば例外にアクセスできますか?私はcordovaでハイブリッドアプリを構築しているので、外部ソースからwebApiを呼び出しています。 – stian64
Web APIプロジェクトで例外にアクセスします。呼び出しているコントローラにブレークポイントを設定してそこから取得することができます。クライアント側から、レスポンスをコンソールに出力し、例外が500ステータスに付属するレスポンスに追加されているかどうかを確認することができます。 –