如何在java中返回多个JSON项的列表,第2部分
这是一个后续问题 再说一次,我对Java和JSON完全陌生,所以我知道的不多。我能够进一步回答上面提到的问题,但现在我遇到了更多的问题,即(基本上)如何返回多个JSON列表的语法。(我从SpringBoot获得了这些代码,但我真的不知道它们是如何工作的;我还在学习Java。) 目前,这是我尝试过的:如何在java中返回多个JSON项的列表,第2部分,java,json,ldap,Java,Json,Ldap,这是一个后续问题 再说一次,我对Java和JSON完全陌生,所以我知道的不多。我能够进一步回答上面提到的问题,但现在我遇到了更多的问题,即(基本上)如何返回多个JSON列表的语法。(我从SpringBoot获得了这些代码,但我真的不知道它们是如何工作的;我还在学习Java。) 目前,这是我尝试过的: @GetMapping("reports/{userID}") public ResponseEntity<LookupResponseList> getDirect
@GetMapping("reports/{userID}")
public ResponseEntity<LookupResponseList> getDirectReports(@PathVariable String userID) {
Optional<List<LDAPModel>> ldapModel = ldapService.getDirectReports(userID);
if (!ldapModel.isPresent()) {
return new ResponseEntity<>(HttpStatus.NOT_FOUND);
}
LookupResponseResultList result = ldapMapper.toLookupResponseResultList(ldapModel.get());
return ResponseEntity.ok(LookupResponseList.result(result, LookupResponseList.class));
}
ldapMapper.tolookuppresponseresultlist的代码如下:
public LookupResponseResultList toLookupResponseResultList(List<LDAPModel> ldapModel) {
return LookupResponseResultList.builder()
.userId(ldapModel.toString())
// .userId(ldapModel.getUserId())
// .telephoneNumber(ldapModel.getTelephoneNumber())
.build();
}
public class LookupResponseList extends BaseBodyResponse<LookupResponseList.LookupResponseResultList> {
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class LookupResponseResultList {
String userId;
String telephoneNumber;
}
如何使ToLookupPresponsereSultList返回多个JSON的列表(如下所示),而不是字符串
{
"result": [
{
"userId": "abcde123",
"telephoneNumber": "1-555-5555555"
},
{
"userId": "fghi456",
"telephoneNumber": "1-333-3333333"
}
],
"error": null
}
编辑:LookupResponseResultList类如下:
public LookupResponseResultList toLookupResponseResultList(List<LDAPModel> ldapModel) {
return LookupResponseResultList.builder()
.userId(ldapModel.toString())
// .userId(ldapModel.getUserId())
// .telephoneNumber(ldapModel.getTelephoneNumber())
.build();
}
public class LookupResponseList extends BaseBodyResponse<LookupResponseList.LookupResponseResultList> {
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public static class LookupResponseResultList {
String userId;
String telephoneNumber;
}
公共类LookupResponseList扩展了BaseBodyResponse{
@资料
@建筑商
@诺尔格构装师
@AllArgsConstructor
公共静态类LookupResponseResultList{
字符串用户标识;
字符串电话号码;
}
问题出在-
public LookupResponseResultList toLookupResponseResultList(List<LDAPModel> ldapModel) {
return LookupResponseResultList.builder()
.userId(ldapModel.toString()) // THIS LINE
.build();
}
public LookupResponseResultList到LookupPresponseResultList(列表ldapModel){
返回LookupResponseResultList.builder()
.userId(ldapModel.toString())//此行
.build();
}
此LookupResponseResultList类必须接受LDAPModel对象的列表
class LookupResponseResultList {
@JsonProperty
private List<LDAPModel> result;
private String error.
}
class LookupResponseResultList{
@JsonProperty
私有列表结果;
私有字符串错误。
}
修改生成器,并提供列表本身,而不是使用ldapModel.toString()设置字符串
当前,LookupResponseResultList类具有列表的字符串表示形式。请提供列表而不是字符串。问题在于-
public LookupResponseResultList toLookupResponseResultList(List<LDAPModel> ldapModel) {
return LookupResponseResultList.builder()
.userId(ldapModel.toString()) // THIS LINE
.build();
}
public LookupResponseResultList到LookupPresponseResultList(列表ldapModel){
返回LookupResponseResultList.builder()
.userId(ldapModel.toString())//此行
.build();
}
此LookupResponseResultList类必须接受LDAPModel对象的列表
class LookupResponseResultList {
@JsonProperty
private List<LDAPModel> result;
private String error.
}
class LookupResponseResultList{
@JsonProperty
私有列表结果;
私有字符串错误。
}
修改生成器,并提供列表本身,而不是使用ldapModel.toString()设置字符串
当前,LookupResponseResultList类具有列表的字符串表示形式。请提供列表而不是字符串