我正尝试使用新的 (#) 测试来建立一个网服务,我可以查询使用的 只读查询串的公约 和它回归 为最终用户注.我还要用只读2.0(而不是1.0).

虽然它看起来并不像它已经支持 $选择 选项和头似乎能够复盖 $format 选项,返回一个 IQueryable 通用似乎提供支持的其他大多数查询的选择,我需要。

我真的在努力与是如何最好地提供星,以满足从而为最终用户2.0规范。(#)只是返回正常java时查询。例如,如果执行得到请求的这样的事情...

http://localhost:XXXXX/vendor/?$filter=RONUMBER eq '2597385'&$select=VENDORID,VENDORNAME&$top=1&$format=Json

..得到顶级的打击匹配指定RONumber上我的开发计算机,我得到回应含有下列Json...

[{"MEPartNumber":"11-2222-3-4444","MFGPartNumber":"123456-123","MFGSerialNumber":"ABC123","RONumber":"987654321","VendorId":"1234567","VendorName":"ACME SERVICE CENTER"}]

我需要Json符合为最终用户2.0规范。东西更像这样..

OData V2: { 
  "d" : { 
    "results":  { 
        "__metadata": {
            "uri": "http://someserver/foo/vendor(1)",
            "type": "Vendor"
        },
        "MEPartNumber": "11-2222-3-4444",
        "MFGPartNumber": "123456-123",
        "MFGSerialNumber": "ABC123", 
        "RONumber":"987654321", 
        "VendorId":"1234567", 
        "VendorName": "ACME SERVICE CENTER"
    }
  }
}

我想我可以写一个自定义 MediaTypeFormatter 获得结构,我想要的。我也许也能修改我的返回对象的模仿的结构所需的手机中。除了这两个选择,任何人都不会知道的一个聪明的方式使(#)给我的只读2.0注的对象?

有帮助吗?

解决方案

你需要给自己写的 MediaTypeFormatter 提供正确的序列化。我们没有船舶的一个为最终用户的格式的软4测试,但是以前的化身WCF网Api有一些例子如何编写之一。 http://wcf.codeplex.com/SourceControl/list/changesets 寻找Microsoft。网。Http。格式。为最终用户(你应该能够使用最多的来源,虽然一些执行细节可能已经改变)

一个选择会将尝试建造一个也可与检,会化的形状,预计通过从而为最终用户v2。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top