你能幫我指出我應該如何開始:
我是 API 新手,目前正在研究與 Microsoft SQL Server 配對的 ASP.NET Core 3.1 MVC。我要求我應該為某種方法使用 API (ServiceStack)。
我的問題是:
- 我如何或從哪里開始我現有的專案解決方案?
- 如果我使用 API,它也應該呼叫 SQL 嗎?(我認為資料將保留在 db 上)
- 關于第一個問題:他們給了我一個鏈接,我可以看到這個。

我應該從哪里開始,我只是很困惑。
我在 youtube 上查找過,但沒有與我類似的案例,它們都使用記憶體。歡迎提出建議和意見!
uj5u.com熱心網友回復:
從創建您的第一個 Web 服務開始閱讀 ServiceStack 的入門部分。
在您的 AppHost 中配置 OrmLite
要配置 OrmLite,請從OrmLite 安裝開始,告訴您要下載哪個包,而OrmLite 入門檔案列出了您將用于在 IOC 中配置OrmLiteConnectionFactory的所有可用SQL Server 方言。
例如對于 SQL Server 2012:
public class AppHost : AppHostBase
{
public AppHost() : base("MyApp", typeof(MyServices).Assembly) { }
// Configure your ServiceStack AppHost and App dependencies
public override void Configure(Container container)
{
container.AddSingleton<IDbConnectionFactory>(
new OrmLiteConnectionFactory(connectionString,
SqlServer2012Dialect.Provider));
}
}
在服務中使用 OrmLite
然后在您的 ServiceStack 服務中,您可以訪問您的 ADO .NET DB 連接base.Db,您可以通過它與OrmLite 的擴展方法一起使用,例如:
public class MyServices : Service
{
public object Any(GetAllItems request) => new GetAllItemsResponse {
Results = Db.Select<Item>()
};
}
查看OrmLite API檔案,了解用于選擇、插入、更新和洗掉資料的不同 API。
使用 AutoQuery 創建輕松的 RDBMS API
由于您是新手,我強烈建議您使用AutoQuery RDBMS,因為它允許您僅使用請求 DTO 創建 RDBMS API。
您可以通過在ServiceStack.Server" NuGet 包中添加AutoQueryFeature插件來啟用它:
public override void Configure(Container container)
{
Plugins.Add(new AutoQueryFeature { MaxLimit = 100 });
}
然后,您可以為您的表創建一個 AutoQuery API Item,只需:
[Route("/items")]
public class QueryItems : QueryDb<Item> {}
Which will now let you query each Item column using any of AutoQuery's implicit conventions, e.g by exact match:
/items?Id=1
Or by any of the query properties:
/items?NameStartsWith=foo
Creating Typed Request DTO
Once you know which Query APIs your client Apps needs I'd recommend formalizing them by adding them as strong typed properties in your Request DTO, e.g:
[Route("/items")]
public class QueryItems : QueryDb<Item>
{
public int? Id { get; set; }
public string NameStartsWith { get; set; }
}
Calling from Service Clients
Which will enable an end-to-end Typed API using any of ServiceStack's Service Clients, e.g:
var client = new JsonServiceClient(BaseUrl);
var response = client.Get(new QueryItems { NameStartsWith = "foo" });
response.PrintDump(); // quickly view results in Console
There's also AutoQuery CRUD APIs that will let you create APIs that modify your RDBMS tables using just Request DTOs.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/440799.html
