gpt4 book ai didi

java - 返回错误列表

转载 作者:行者123 更新时间:2023-11-30 05:42:09 25 4
gpt4 key购买 nike

我想使用此 Response 对象返回错误列表:

public class StringResponseDTO {

private String response;

public StringResponseDTO(String response) {
super();
this.response = response;
}

public String getResponse() {
return response;
}

public void setResponse(String response) {
this.response = response;
}
}

我使用此代码生成错误:

List<FieldError> errors = result.getFieldErrors();
for (FieldError error : errors ) {
System.out.println ("Validation error in field: " + error.getObjectName()
+ "! Validation error message: " + error.getDefaultMessage()
+ "! Rejected value:" + error.getRejectedValue());
return ResponseEntity.ok(new StringResponseDTO(error.getField() + " " + error.getDefaultMessage()));
}

我想返回这样的列表:

response: {
errors: [
field_name: message,
second_name: second_message
]
}

你知道我该如何修改代码吗?也许我需要添加构造函数?

最佳答案

response: {
errors: [
field_name: message,
second_name: second_message
]
}

您需要使用以下类来对上述 json 进行建模:

@JsonTypeInfo(include = JsonTypeInfo.As.WRAPPER_OBJECT, use = JsonTypeInfo.Id.NAME)
@JsonTypeName("response")
class StringResponseDTO {

private List<String> errors;

public StringResponseDTO(final List<String> errors) {
this.errors = errors;
}

public List<String> getErrors() {
return errors;
}

public void setErrors(final List<String> errors) {
this.errors = errors;
}
}

您可以将响应构造为:

List<String> errorsList = new ArrayList<>();
List<FieldError> errors = result.getFieldErrors();
for (FieldError error : errors ) {
System.out.println ("Validation error in field: " + error.getObjectName()
+ "! Validation error message: " + error.getDefaultMessage()
+ "! Rejected value:" + error.getRejectedValue());
errorsList.add(error.getField() + " " + error.getDefaultMessage());
}

return ResponseEntity.badRequest().body(new StringResponseDTO(errorsList));

关于java - 返回错误列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55445649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com