2017-04-14 260 views
1

因此,我正在使用Visual Studio 2017 Enterprise,並且我注意到有一天您可以右鍵單擊並執行文件添加restful api客戶端。所以我出去併爲我的寧靜服務生成了.json文件。我的Visual Studio生成了一堆類和文件。但是,我不明白如何使用這些類。如何使用Visual Studio 2017從swagger文檔中生成restful api

什麼是創建一個對象來調用我的寧靜的後端方法的示例代碼?

我想也許這是我需要使用的對象,但如果它們不能爲null,那麼ServiceClientCredentials是什麼?

public AngularDemoComplete(ServiceClientCredentials credentials, params DelegatingHandler[] handlers) : this(handlers) 
    { 
     if (credentials == null) 
     { 
      throw new ArgumentNullException("credentials"); 
     } 
     this.Credentials = credentials; 
     if (this.Credentials != null) 
     { 
      this.Credentials.InitializeServiceClient(this); 
     } 
    } 

回答

0

我仍然在試圖找出一個完整的解決方案,但我還是設法通過傳遞這些參數來得到這個工作:

(new TokenCredentials("<bearer token>"), null) 

不幸的是我真的不明白這是什麼意思,在此時此刻。我在一篇關於使用autorest客戶端的文章中發現了這個問題,這些客戶端似乎會生成類似的代碼:https://dzimchuk.net/generating-clients-for-your-apis-with-autorest/

我正在繼續這項工作,並會隨着我學到的更多內容進行更新。

任何更新從你將不勝感激。

乾杯

另外,我把它註釋掉的憑據參數空校驗工作。但這可能不可取。有趣的是,如果不需要認證,它可以在沒有證書的情況下工作。

UPDATE:我發現有2種,似乎是多一點自我解釋其他類型的可憑據:

  • BasicAuthenticationCredentials
  • CertificateCredentials
與TokenCredentials你會

顯然在此步驟之前需要從服務器獲取令牌。這可能需要使用OAuth。 因爲我最初不需要身份驗證,所以我只打算使用BasicAuthenticationCredentials而不設置UserName和Password屬性。

相關問題