ServiceStack JsonServiceClient URL
ServiceStack JsonServiceClient URLs
我正在评估 ServiceStack JsonServiceClient 并且请求使用通用 /json/reply 端点:
https://techstacks.io/json/reply/GetTechnology?slug=ServiceStack
是否可以使用服务中声明的端点(例如:[Route("/hello")])?
.NET(C#、F#、VB.NET)JsonServiceClient 确实使用用户定义的路由,因为它们能够访问 .NET 元数据属性,其他语言不能,因为它们无法访问相同的运行时元数据,因此它们通常出于文档目的在注释中发出,并使用 ServiceStack 的 pre-defined routes,默认情况下在所有 ServiceStack 服务上启用它允许更简单的通用实现,可以调用任何 API.
所有语言的所有 JsonServiceClient 还提供 API 方法,这些方法接受可用于 call APIs using your user-defined routes 的字符串路径,例如:
client.get<GetTechnologyResponse>("/technology/ServiceStack")
client.get<GetTechnologyResponse>("https://techstacks.io/technology/Redis")
// https://techstacks.io/technology?Slug=ServiceStack
client.get<GetTechnologyResponse>("/technology", { Slug: "ServiceStack" })
以及 POST 向自定义 URL 请求 DTO:
client.postToUrl("/custom-path", request, { Slug: "ServiceStack" });
client.putToUrl("http://example.org/custom-path", request);
JS 库还包含 some additional APIs,它可以帮助为用户定义的路由生成填充的查询字符串,例如:
combinePaths("path","to","..","join") //= path/join
createPath("path/{foo}", {foo:1,bar:2}) //= path/1
createUrl("http://host/path/{foo}",{foo:1,bar:2}) //= http://host/path/1?bar=2
我正在评估 ServiceStack JsonServiceClient 并且请求使用通用 /json/reply 端点:
https://techstacks.io/json/reply/GetTechnology?slug=ServiceStack
是否可以使用服务中声明的端点(例如:[Route("/hello")])?
.NET(C#、F#、VB.NET)JsonServiceClient 确实使用用户定义的路由,因为它们能够访问 .NET 元数据属性,其他语言不能,因为它们无法访问相同的运行时元数据,因此它们通常出于文档目的在注释中发出,并使用 ServiceStack 的 pre-defined routes,默认情况下在所有 ServiceStack 服务上启用它允许更简单的通用实现,可以调用任何 API.
所有语言的所有 JsonServiceClient 还提供 API 方法,这些方法接受可用于 call APIs using your user-defined routes 的字符串路径,例如:
client.get<GetTechnologyResponse>("/technology/ServiceStack")
client.get<GetTechnologyResponse>("https://techstacks.io/technology/Redis")
// https://techstacks.io/technology?Slug=ServiceStack
client.get<GetTechnologyResponse>("/technology", { Slug: "ServiceStack" })
以及 POST 向自定义 URL 请求 DTO:
client.postToUrl("/custom-path", request, { Slug: "ServiceStack" });
client.putToUrl("http://example.org/custom-path", request);
JS 库还包含 some additional APIs,它可以帮助为用户定义的路由生成填充的查询字符串,例如:
combinePaths("path","to","..","join") //= path/join
createPath("path/{foo}", {foo:1,bar:2}) //= path/1
createUrl("http://host/path/{foo}",{foo:1,bar:2}) //= http://host/path/1?bar=2