2017-08-08 106 views
0

我正在使用ASP.net核心WebAPI並生成API文檔,我正在使用Swagger。 Swagger成功生成豐富多彩的文檔。但是當我嘗試執行一個API方法。 Swagger總是收到錯誤信息。Swagger UI無法顯示來自ASP.net核心的正確響應核心WebAPI

{ 「錯誤」: 「服務器沒有響應」}

API方法

[Route("api/[controller]")] 
[Produces("application/json")] 
public sealed class AuthController : BaseApiController 
{ 
    [HttpGet] 
    [Route("GetByUser/{uid}/{pwd}")] 
    public IActionResult GetByUser(string uid, string pwd){....} 
} 

注:

  • 我總是得到正確的API響應從上面的方法通過瀏覽器/提琴手(沒有使用Swagger
  • 我也在api配置CORS結束。但從Swagger仍然沒有得到適當的迴應。

揚鞭的AppSettings

"Swagger": { 
    "FileName": "ApiDoument.xml", 
    "host": "localhost:63687" 

    } 

揚鞭響應

捲曲

X GET 'http://localhost:63687/api/Auth/GetByUser/test%40gmail.com/1234' 

請求URL

http://localhost:63687/api/Auth/GetByUser/test%40gmail.com/1234 

響應體

沒有內容

響應代碼

響應頭

{ 「錯誤」: 「沒有來自服務器的響應」}

+0

我不知道如何解決您的問題什麼,但你揚鞭的AppSettings有一個錯字; FileName:ApiDoument,應該是ApiDoCument - 也許就是這樣? – cwap

+0

@cwap:FileName在這裏不是問題,因爲Swagger能夠從該「xml」文件生成適當的文檔 –

+0

您需要在本地主機上啓用CORS。請參閱[爲什麼在Swagger UI中沒有「服務器響應」](https://stackoverflow.com/q/45439845/113116) – Helen

回答

0

問題是解決,上面由於波紋管哈希值描述錯誤。 Swagger無法返回此類型的值。

AQAAAAEAACcXdXU4rzH9EpRzS2smaRdvesNxkOQMvKld2ySuzXTNcd + 1Gux6CJfV90w ==

解決方案:

using Newtonsoft.Json; 

JsonConvert.SerializeObject(Hashvalue);