我已经尝试过:
我将 console.log 放入角度代码中,并且对象正在填充,但是当代码遇到控制器上的断点时,该对象始终为空。
下面是 Angular 和 .Net 代码...我还能尝试或重试什么?
//.net class
public class AccountLookupRequest
{
public string FILENO { get; set; }
public string AccountName { get; set; }
public string SSN { get; set; }
}
//angular class
export class AccountLookupRequest{
public FILENO: string;
public AccountName: string;
public SSN: string;
constructor() { }
}
//angular service
////try1
//getAccounts(accountlookup: AccountLookupRequest) {
// //log the input
// console.log('accountlookup', accountlookup);
// //serialize accountlookup object to json
// return this.http.post<any>(this._AccountLookup, accountlookup)
// .pipe(
// map(response => {
// console.log('response', response);
// return response;
// })
// );
//}
//try2
getAccounts(accountlookup: AccountLookupRequest):Observable<any> {
console.log('accountlookup', accountlookup);
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json'
})
};
return this.http.post(this._AccountLookup, accountlookup, httpOptions);
}
//.net controller
//try1 - jsonInput var is null
//public IActionResult GetAccounts(string jsonInput)
//{
// List<AccountLookupResponse> results = new List<AccountLookupResponse>();
// try
// {
// AccountLookupRequest input = JsonConvert.DeserializeObject<AccountLookupRequest>(jsonInput);
// results = _clsRepo.GetAccounts(input);
// }
// catch (Exception ex)
// {
// return StatusCode(StatusCodes.Status500InternalServerError, new { Message = $"{ex.Message}\n\n{ex.StackTrace}" });
// }
// return Ok(results);
//}
//try2 - request var is null
public IActionResult GetAccounts([FromBody] AccountLookupRequest request)
{
List<AccountLookupResponse> results = new List<AccountLookupResponse>();
try
{
results = _clsRepo.GetAccounts(request);
}
catch (Exception ex)
{
return StatusCode(StatusCodes.Status500InternalServerError, new { Message = $"{ex.Message}\n\n{ex.StackTrace}" });
}
return Ok(results);
}
我认为您没有指定可能是问题所在的发布请求!
// [Route("<<enter route also if needed>>")]
[HttpPost]
public IActionResult GetAccounts([FromBody] AccountLookupRequest request)
{
List<AccountLookupResponse> results = new List<AccountLookupResponse>();
try
{
results = _clsRepo.GetAccounts(request);
}
catch (Exception ex)
{
return StatusCode(StatusCodes.Status500InternalServerError, new { Message = $"{ex.Message}\n\n{ex.StackTrace}" });
}
return Ok(results);
}