1
從REST中的DTO中排除屬性我有一個像下面這樣的類。如何根據參數
public class MyDto {
private int id;
private String name;
private String address;
// getters and setters .....
}
我有一個像下面這樣的MS4J服務,從這個對象返回一個JSON。
import javax.ws.rs.*;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.Response;
import org.example.service.dto.MyDto;
import org.wso2.msf4j.Request;
@Path("/hello/1.[\\d]/version")
public class HelloService {
@GET
@Path("/{version}")
@Produces({"application/json"})
public Response hello(@PathParam("version") int version, @Context Request request) {
MyDto dtoObject = new MyDto(1, "TestObjName", "TestObjAddress");
if (version < 1) {
//return object without address
} else {
//return object with address
}
}
}
在運行時,我需要從基於版本的java類中排除屬性。即。如果版本> 1的對象不帶地址,則使用地址屬性的對象。
設置爲地址字段爲空不是一個選項。我試圖用JacksonView和JacksonFilter做到這一點,但無法適應這種情況。
任何想法或示例代碼來解決這個問題?