2012-09-07 26 views
0
<HttpGet()> 
Public Function Search(<FromUri()> ByVal name As Name) As HttpResponseMessage 
    // get params from complex type 
    // or check for model validation 
    name.firstName; 
    name.lastName; 
End Function 

Public Class Name 
<Required()> 
Public firstName As String 
<Required()> 
Public lastName As String 
End Class 

/API/ABC /搜索?的firstName =插孔&的lastName =丹尼尔斯ASPNET的WebAPI绑定查询字符串对象

我试图发送一个COMLEX类型作为查询参数,但名字是即使我使用fromUri属性,也总是为空。我错过了什么?

编辑:我也使用System.ComponentModel.DataAnnotations Required()属性。

+0

这是用于Web服务的权利?你有一个特定的例子吗? 从我的经验来看,webservice params是单独解析的 –

+0

是的,web服务。当我将其作为一个单独的示例进行测试时,它也可以正常工作。我不知道为什么它不会在我的项目中运行。 –

+0

所以你是在VB.NET中编写的人 – BritishDeveloper

回答

1

我发现了这个问题。我错过了我的字段上的Property关键字。

Public Class Name 
<Required()> 
Public firstName As String 
<Required()> 
Public lastName As String 
End Class 

因此,它具有以下变化工作。

Public Class Name 
<Required()> 
Public Property firstName As String 
<Required()> 
Public Property lastName As String 
End Class 

问题解决了。我认为,没有财产,班级不暴露其领域,所以我不能从uri阅读它们。

相关问题