2012-09-07 37 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閱讀它們。

相關問題