2017-06-16 6 views
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 

これを解決する方法はありません。

+1

私はサーバーのコードがどれほどシンプルであるかを考えてみると、これはパラメータの問題です。まず、 'contractId'をどこに送るのかわかりません。そして、いくつかの素早い読み方から、私は' PropertyContractDto'オブジェクトが正しく渡されているとは確信していません。これは正確に私の専門分野ではありませんが、それは私が探しているところです。 –

+0

contractIdは7でOKです。問題は[FromBody]属性の後に送信されるペイロードです。なぜこれが問題なのか分かりません。 – arame3333

+0

ああ、私は今参照してください。 JSONをPropertyContractDtoクラスにキャストしてテストしましたか? –

答えて

2

私の問題はStartup.cs、ConfigureServicesメソッドにあります。もし私がservices.AddMvcCore().AddJsonFormatters();を入れたら、それは動作します

関連する問題