2016-08-22 71 views
1

我一直在使用,因爲V3 ServiceStack但現在一直拖在C#中走了一會兒,挖掘到節點,打字稿最近的一箇中間地帶:)使用ServiceStack打字稿客戶端

所以現在非servicestack服務器我有這個項目,我需要使用基於Tastypie構建的這個龐大的REST API,我首先想到了ServiceStack方面的新功能,並發現了Typescript client

問題是如何在沒有「添加ServiceStack引用...」嚮導的情況下使用它。

我想要做的是從Tastypie文檔編寫一個轉換器到ServiceStack dtos,請求和響應,然後在這些dtos上使用ServiceStack客戶端。 我只在打字稿定義和強類型客戶端之間有點丟失,我找不到任何生成的Typescript DTO的完整示例。

有什麼辦法可以讓路由(帶參數),輸入請求和響應?

乾杯。

回答

0

添加TypeScript ServiceStack Reference是一樣的任何其他Add ServiceStack Reference語言,你只需右鍵單擊您想要的DTO的位置,去Add > TypeScript Reference...在上下文菜單,然後在進入BASEURL遠程ServiceStack實例對話框。點擊OK然後將生成的TypeScript DTO添加到您的項目中,並指定文件名。 ServiceStackVS VS.NET擴展允許在VS.NET中添加ServiceStack參考支持,而ServiceStackIDEA plugin增加了對JetBrains IDE的支持,而http://gistlyn.com/add-servicestack-reference展示瞭如何在Gistlyn中添加一個在線C#Gist IDE中的ServiceStack參考,該IDE允許您僅用一個C#腳本運行C#腳本瀏覽器。

可以生成類型化的DTO 爲這是從你的C#的DTO轉化和設計的ServiceStack的基於消息的API和預先定義的路線工作的遠程ServiceStack實例。這不是您可以用來使用第三方(非ServiceStack)API的東西。如果您只是想要生成的DTO類型,您需要創建一個空白的ServiceStack項目,使C#DTO匹配第三方API和空服務實現(例如拋出NotImplementedExceptions),然後您可以從/types/typescript route訪問TypeScript DTO。

+0

神話你總是會驚訝於我的答案..好吧,所以使用ServiceStack打字稿客戶端的第三方REST API服務器的一種方式是創建ac#項目,從API文檔生成DTO,然後運行一個愚蠢的服務器並從中獲得TypeScript DTO ...我不能嘗試直接從Tastypie文檔生成這些Typescript DTO? 我只是在這裏探索,基本上試圖在C#中做類似的事情:使用ServiceStack客戶端和基於DTO的架構來使用3rdParty API .. – baramuse

+0

@baramuse好像你想用他們的Tastypie文檔調用第三方API,看看你會在哪裏使用ServiceStack? ServiceStack生成不同語言的Typed DTO,用於**調用ServiceStack服務**,如果您沒有調用ServiceStack服務,那麼我只會使用他們的建議來調用他們的第三方API。你可以做的最好的做法是用C#DTO創建一個空白的ServiceStack項目,它的形狀與第三方API相同,它可以讓你生成TypeScript DTO,但是你仍然需要處理構建第三方路線等。 – mythz

+1

這就是我曾經使用ServiceStack.Client作爲C#中的默認REST API客戶端(例如通過RESTSharp),因爲我喜歡這種方式,我只需定義POCO DTO來描述Requests,Responses和Routes。 我想我可以用ServiceStack Typescript客戶端做同樣的事情。我想我必須寫一個:) – baramuse