2014-09-30 24 views
1

org.springframework.hateoas.ResourceSupport已經包含一個getId方法。如何向客戶端呈現資源ID?

如果我的資源(或更好的域對象)包含需要呈現給客戶端的整數ID,我不能添加簡單的ID並添加getId/setId(因爲ResourceSupport已經擁有它)。

我應該返回一些東西<myResourceObjectName>_id還是讓客戶端解釋由ResourceSupport提供的id鏈接/ url更好?

回答

3

對於客戶端的目的,該資源最初從(通過GET)中檢索到的URL 它的id。不應該進行解釋,客戶端應該將URL視爲不透明的字符串。

+0

但是我需要去展示在客戶端的ID是什麼? – 2014-10-01 12:58:14

+0

你錯過了這一點。除了URL之外,您不需要識別資源,因此請使用URL作爲ID。 – 2014-10-02 04:35:09

+0

我明白了。但在某些情況下,您只需要表格中的實際ID就可以提供給客戶,因爲它具有含義。例如。生成的唯一訂單ID和部分例如訂單資源。 – 2014-10-02 12:24:20

0

您migth要檢查本文how-to-expose-the-resourceid-with-spring-data-rest

@Configuration 
public class MyCoolConfiguration extends RepositoryRestMvcConfiguration { 

    @Override 
    protected void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) { 
     config.exposeIdsFor(FooEntity.class); 
    } 
}