0
考慮以下ServerResource
派生類型:是否有可能在Restlet中強類型化HTTP請求處理程序?
public class UserResource extends ServerResource {
@Get
public User getUser(int id) {
return new User(id, "Mark", "Kharitonov");
}
}
(是的,它總是返回相同的用戶,無論給定的ID)。
它有可能使它在Restlet中工作嗎?因爲,據我瞭解,在GET處理的預期的簽名是:
Representation get();
OR
Representation get(Variant v); // (no idea what it means yet)
現在我明白了,我可以實現非類型安全的GET處理提取參數從請求中調用getUser
,之後從結果中構造出相應的Representation
實例並返回。但是這是一個樣板代碼,它不屬於應用程序代碼,它的位置在框架內。至少,這是如何通過OpenRasta完成的 - 我一直在.NET中使用的REST框架。
謝謝。
OK,所以GET http:// bla-bla-bla/user/2被路由到'getUser',如果我們假設POST http:// bla-bla-bla/user被路由到'newUser',那麼'getUser'和'newUser'不能在同一個'ServerResource'中,否則GET http:// bla-bla-bla/user也會被路由到'getUser'!看起來,儘管GET和POST提到了相同的資源('User'),它們必須由不同的「ServerResource」實例處理。這有點令人失望...... – mark