我有一個接受一個對象綁定請求參數的GET處理的簡單控制器:如何在沒有setter的情況下綁定請求參數?
@RestController
@RequestMapping("/test")
public class SampleController {
@GetMapping
public SomeResponse find(RequestParams params) {
// some code
}
}
的RequestParams
是一個簡單的POJO類:
public class RequestParams {
private String param1;
private String param2;
// constructor, getter, and setters
}
寄託都工作正常,但我想擺脫setter使對象不可變爲公共使用。在documentation爲@RequestMapping
處理方法中,我們讀到 可能的有效方法的參數是:
的命令或表單對象
是否有可能以某種方式覆蓋默認的Spring Boot配置,以便請求參數使用反射綁定到類屬性,而不使用setter?
不幸的是,如果字段的範圍更改爲'public'並且setter被刪除,則請求參數不會綁定到該對象。即便如此,我的目標是保持對象不變,至少對公衆有用,因此將對象公開只會讓事情變得更糟。 –