2015-12-10 26 views
1

我使用REST API和在我的用戶控制器以下方法如何分辨兩個POST方法在一個控制器

@POST 
@Consumes(MediaType.APPLICATION_JSON) 
@Produces(MediaType.APPLICATION_JSON) 
public User login(UserLogin userLogin){ 

等方法

@POST 
@Consumes(MediaType.APPLICATION_JSON) 
public boolean register(User user){ 

我想在調用登錄方法登錄按鈕點擊和相當明顯的註冊方法註冊按鈕點擊。 UserLogin類只有兩個attibs(電子郵件和密碼)。用戶有像名稱,地址,聯繫等meder fileds

我的REST調用http://localhost:8080/.../... /user正確路由登錄方法在登錄按鈕點擊,但它再次調用相同的方法登記點擊並拋出一個異常,像name等字段是未定義的UserLogin類。

爲什麼你的兩次點擊被路由到相同的方法? 如何解決這個問題?

+0

你不能沒有不同的路徑。您如何期望應用程序確定選擇哪一個?關閉方法參數?這不會奏效。如果你真的想讓它工作,你可以破解它,但它看起來很醜,我甚至不會推薦它 –

回答

3

添加@Path註釋以定義每種方法的唯一路徑。

例如:

@Path("/register") 
@POST 
@Consumes(MediaType.APPLICATION_JSON) 
public boolean register(User user){ 

然後調用你的方法與http://localhost:8080/.../... /user/register

相關問題