2016-12-12 72 views
0

我將需要創建一個API,將自動生成的值傳遞到頁面上的文本框。項目名稱是我們將傳遞自動生成的字段的字段。 enter image description hereREST API自動生成值使用後

我是新來的Web API,但我創建了REST API來查詢數據庫並使用get方法返回值。所以每次調用End點時都應該返回自動生成的Project名稱。如何解決這個問題。

回答

1

在REST你會想,只要你需要創建資源讓服務器選擇它的名字使用POST動詞。在REST的HTTP實現中,服務器將返回location標題中的資源名稱(這是一個URI)。

如果你想使用這種方法,這是遵循的方式。

名稱生成所需的參數對於理解這是否是最佳方法很重要(創建一個包含這些參數的項目資源是否有意義?是否有意義?)。例如,如果您需要創建一個新的項目你可以使用下面的設計:

POST http://authority/rootpath/projects

{  
    name:"prj name", 
    relevance:"high", 
    dependencies: [...]  
} 

期待有回在響應頭

location: http://authority/rootpath/projects/prj_name123 

然而,也許你根本不想創建一個項目,你只需要問服務器一個新的名字。在這種情況下,我認爲這是一個更加連貫的方法。

GET http://authority/rootpath/projectNames?a='some'&b='useful'&c='parameters' 

該請求之後,將保持的資源的表示,像這樣

{  
    name:"prj name" 
} 
+0

感謝的響應。但可以在沒有任何輸入參數的情況下生成項目名稱。 – trx

+0

從這個評論我明白,你不需要生成一個項目資源,所以上面描述的POST策略*是毫無價值的。最好的辦法是採用GET方法。如果你不需要它們,你不會被迫使用查詢參數。如果你真的想要使用POST,你應該設計一個提交給服務器的'projectName'資源到'/ rootpath/projects',並且期望這個資源名稱位於正文中的'location' Header *或*中。 – MaVVamaldo