我已經經歷了幾個教程,我可以看到JAX-RS註釋創建的接口。稍後將完成相同的實現。爲什麼要爲JAX-RS實現聲明一個接口?
這是爲什麼?我無法直接將具體類作爲REST風格的服務公開嗎?這是一種不好的做法嗎?以下是我在this問題中遇到的其中一個示例。
public interface ICRUD {
@POST
@Consumes("application/json")
@Produces("application/json")
@Path("create")
public String createREST(String transferObject);
@GET
@Consumes("application/json")
@Produces("application/json")
@Path("retreive/{id}")
public String retreiveREST(@PathParam("id") String id);
@POST
@Consumes("application/json")
@Produces("application/json")
@Path("update")
public void updateREST(@Suspended final AsyncResponse asyncResponse,
final String transferObject) ;
@DELETE
@Consumes("application/json")
@Produces("application/json")
@Path("delete/{id}")
public String deleteREST(@PathParam("id") String id);
}
我確實看過帖子,但無法理解Donal Fellows的回答。你可以把它放在一些燈光?它說像Spring這樣的框架的交叉會更簡單。怎麼樣? – Sam
從我使用OSGI的期限來看,我會說,當服務實現從其他機器/環境/類加載器加載並執行時,存在一種常見的情況。服務和實現的分離使我能夠導入API接口,並且「不關心」其他團隊編寫的實現。在實現代碼中進行的更改不會影響我的代碼,所以這是減少耦合的方式 – Kirill