我想使用 Grails-jaxrs plugin实现自定义 MessageBodyReaderSupport从客户端读取 UserDto 类。
如何实现 UserDtoReader 才能获取 UserDto 的实例?
这是我的 UserDto 类:
public class UserDto {
private String firstName;
private String lastName;
public UserDto() {
firstName = "";
lastName = "";
}
public UserDto(String firstName,
String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
@Override
public String toString() {
String s = " { User ";
s += "id=" + id + " ";
s += "firstName=" + firstName + " ";
s += "lastName=" + lastName + " ";
s += " User } ";
return s;
}
}
这是我的 UserDtoReader 类:
@Consumes("application/json")
class UserDtoReader extends MessageBodyReaderSupport<UserDto> {
@Override
public UserDto readFrom(MultivaluedMap<String, String> httpHeaders,
InputStream entityStream) throws IOException,
WebApplicationException {
// TODO Auto-generated method stub
return null;
}
}
最佳答案
使用这个:
@Consumes("application/json")
class UserDtoReader extends MessageBodyReaderSupport<UserDto> {
@Override
public UserDto readFrom(MultivaluedMap<String, String> httpHeaders,
InputStream entityStream) throws IOException,
WebApplicationException {
return new JsonSlurper().parse(new InputStreamReader(entityStream))
}
}
关于java - MessageBodyReader 支持 DTO 类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20301665/