Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 对数组进行Url编码_C#_Url_<img Src="//i.stack.imgur.com/WM7S8.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">servicestack - Fatal编程技术网 servicestack,C#,Url,servicestack" /> servicestack,C#,Url,servicestack" />

C# 对数组进行Url编码

C# 对数组进行Url编码,c#,url,servicestack,C#,Url,servicestack,这可能看起来很脏,但我发誓这是为了文档目的 我正在使用文档中的GETs访问我的服务,这样人们就可以尝试一些东西,而不需要太复杂 将x-http-method-override=POST附加到URL会强制服务器将GET作为POST 这一切都很好,除非我需要发布一个对象数组。这在一个标准的帖子中很简单,但今天我有了一个新的噩梦面包 预期的POST如下所示: {"name":"String","slug":"String","start":"String","end":"String","id":"S

这可能看起来很脏,但我发誓这是为了文档目的

我正在使用文档中的
GET
s访问我的服务,这样人们就可以尝试一些东西,而不需要太复杂

x-http-method-override=POST
附加到URL会强制服务器将
GET
作为
POST

这一切都很好,除非我需要
发布一个对象数组。这在一个标准的帖子中很简单,但今天我有了一个新的噩梦面包

预期的
POST
如下所示:

{"name":"String","slug":"String","start":"String","end":"String","id":"String","artists":[{"id":"String","name":"String","slug":"String"}],"locationId":"String"}
正如你所看到的,这里有很多艺术家

我已尝试做以下工作:

model/listing?start=10:10&end=12:30&artists[0].name=wayne&artists[0].id=artists-289&locationid=locations-641&x-http-method-override=POST
但是没有用

我怎样才能将一组对象放入一个URL中,使服务堆栈满意呢

我明白这并不是我要做的事情,但它让我用可点击的示例URL来解释我的结束点变得非常容易,你可以用它来编码URL中的复杂对象。这应该适用于您的DTO:

model/listing?name=wayne&artists=[{id:artists-289,name:sample1},{id:artists-290,name:sample2}]&locationId=locations-641

您可以使用ServiceStack.Text中的
ToJsv
扩展方法从任意对象以编程方式创建JSV。

C'mon,停止滥用REST。似乎您试图通过
GET
使用
POST
。难怪你有麻烦。你猜怎么着?这只是一个开始——想想支持、API成熟度和困惑的用户。如果我是你,我会马上停下来,开始使用
POST
。API的用户有双手,希望他们是聪明的,尽管这听起来可能很愚蠢。他们将能够设计一个简单的
POST
请求。你也可以通过提供一个简单有效的例子来帮助他们。我说过这纯粹是为了文档!!这与生产代码和最终用户无关!这与休息的纯洁性、极端的休息观点和宗教信仰无关。我的REST服务可以完美地表现为RESTful,我可以按照自己的意愿记录它。用一个合法的问题来证明您的REST有多纯净有点便宜,我指的是HTTP RFC标准。如果我同意我们可以就REST的纯洁性进行辩论(让我们继续讨论),那么你就不想违反标准。这就是我的观点——一个大家都能理解的通用标准。我只是想把它作为一种文档的替代方法:ServiceStack还支持Swagger,一种HTML/JS接口,用于API的交互式文档。我已经尝试设置Swagger,但不知道如何让它查看我的API