5
WebコアAPIをテストしていて、500の内部サーバーエラーが発生しています。 私のコントローラ上のメソッドは次のとおりです。InvalidOperation:(System.Net.HttpWebRequest:HttpWebRequest)[Invoke-RestMethod]、WebException
[Route("api/property")]
public class PropertyController : BaseSirController
{
[HttpPost("{contractId}/saveproperty")]
public IActionResult SaveProperty(int contractId, [FromBody] PropertyContractDto property)
{
if (property == null)
{
return BadRequest();
}
if (contractId == 0)
{
return NotFound();
}
return Ok();
//return CreatedAtRoute("GetPropertyInspectionsForContract", new {contractId = contractId}, properties);
}
と私が入力した私のPowerShellコマンドで:
Invoke-RestMethod http://localhost:17972/api/property/7/saveproperty -Method POST -Body (@{UPRN="1244"; StreetName="The Street"; AddressLine2="ALine2"; AddressLine3="ALine3"; AddressLine4="ALine4"; Postcode="N1 7PL"; Latitude="23"; Longitude="77"; BlockUPRN="B1244"; PropertyNo="23"; BlockName="Wenlock Court"; Comments="blah blah blah"; PropertyTypeId="1"; NumberOfBathrooms="1"; NumberOfBedrooms="2"; NumberOfKitchens="1"; PropertyContractId="23"; PropertyType="Maisonette"} | ConvertTo-Json) -ContentType "application/json"
私は取得していますエラーメッセージがあります。
Invoke-RestMethod : The remote server returned an error: (500) Internal Server Error.
At line:1 char:1
+ Invoke-RestMethod http://localhost:17972/api/property/7/saveproperty -Method POS ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
これを解決する方法はありません。
私はサーバーのコードがどれほどシンプルであるかを考えてみると、これはパラメータの問題です。まず、 'contractId'をどこに送るのかわかりません。そして、いくつかの素早い読み方から、私は' PropertyContractDto'オブジェクトが正しく渡されているとは確信していません。これは正確に私の専門分野ではありませんが、それは私が探しているところです。 –
contractIdは7でOKです。問題は[FromBody]属性の後に送信されるペイロードです。なぜこれが問題なのか分かりません。 – arame3333
ああ、私は今参照してください。 JSONをPropertyContractDtoクラスにキャストしてテストしましたか? –