我有一个Angular 7应用程序,该应用程序调用ASP.Net核心MVC wep api。
Web api返回一个HttpResponseMessage,在其中设置StatusCode和ReasonPhrase。
我有2个Angular组件,分别调用2种不同的Web api方法。
当我进入调用Web api的app.MemberRegistration.Component.ts逻辑时,我得到一个未定义的属性(无法读取未定义的属性“ reasonPhrase”)。基本上没有显示Web api控制器中设置的“原因短语”。但是,如果我未在警报中引用原因短语,则会得到在控制器中设置的304状态代码。所以我知道这将成为逻辑。
当我进入调用Web api的app.Renewal.Component.ts逻辑时,我得到了在Web api控制器中设置的原因短语以及在控制器中设置的StatusCode 200。
为什么两个之间的属性不同-即大写和小写的第一个字符?它们在可用于每个组件选择的智能感知中的显示方式有所不同吗?
这是Web api的RegisterMemberController代码进行剪裁。
var response = new HttpResponseMessage()
{
// Status code: 304.
StatusCode = HttpStatusCode.NotModified,
ReasonPhrase = "Critical Error. In RegisterMemberController -
api/RegisterMember - POST. Executing the procedures in: MemberRegistrationConcrete/InsertMember()."
};
return response;
这是Web api的RenewalController代码进行剪裁。
var response = new HttpResponseMessage()
{
// Status code: 200.
StatusCode = HttpStatusCode.OK,
ReasonPhrase = "Renewed Successfully."
};
return response;
这是app.Renewal.Component.ts(它具有ReasonPhrase):
这是app.MemberRegistration.Component.ts(它具有reasonPhrase):