2016-02-11 42 views
0

在我的API項目缺失的位置,有運行此代碼ApiController:創建資源時響應

public class MyCtrl : ApiController 
{ 
    ... 
    if (isSuccess) 
    { 
     result.Id = newResource.Id; 
     var locationUrl = Request.RequestUri + "/" + id; 

     return Created(locationUrl, result); 
    } 
} 

但在回答我看到的只有編號,怎麼能強迫的WebAPI也返回locationId?

{ 
    "id": "YHEMPZIF2VHHP6X7" 
} 

回答

1

Created方法的第一個參數被傳遞給客戶端中的響應首部。更準確地說,在位置標題。所以爲了訪問它,你不必修改結果對象。

enter image description here

至於在客戶端訪問標頭。例如,在ASP.NET MVC中,您可以通過Request.Headers和Angular通過headers屬性來完成響應對象。

1

if (isSuccess) 
{ 
    var locationUrl = Request.RequestUri + "/" + id; 
    var result = new { Id:newResource.Id, locationUrl: locationUrl } 
    return Created(locationUrl, result); 
} 
+0

好的,我可以擴展結果對象。但是有沒有機會從第一個參數中使用locationUrl? – Jacek

+0

對不起,我不明白你的意思。 – Seabizkit