我有一个dto RepresentationalModel<T>
来自春之恨。我还有一个类,它实现了SpringHateoAS的一个接口,称为simplerepresentationalmodel,它所做的只是简单地向dto添加链接。现在,我还创建了自己的实用程序类来添加来自嵌套userdto和emaildto的链接。所以emaildto看起来是这样的:
{
"id": "1",
"email": "email@email.com",
"user": {
**fields**,
"_links": {
"inUserById": "link",
"inUserByUsername": "link"
}
},
"_links": {
"href": "link"
}
}
这个 user
在json中实际上是一个userdto。现在,当我获取一个用户拥有的所有电子邮件时(考虑到该用户拥有2封或更多电子邮件),应该是这样的:
{
"embedded": {
emailDTOList: [
{
"id": "1",
"email": "email@email.com",
"user": {
**fields**,
"_links": {
"inUserById": "link",
"inUserByUsername": "link"
}
},
"_links": {
"href": "link"
}
},
{
"id": "2",
"email": "email2@email.com",
"user": {
**fields**,
"_links": {
"inUserById": "link",
"inUserByUsername": "link"
}
},
"_links": {
"href": "link"
}
}
],
"_links": {
"href": "link"
}
}
}
但是当我测试使用 MockMvc
,看起来是这样的:
{
"embedded": {
emailDTOList: [
{
"id": "1",
"email": "email@email.com",
"user": {
**fields**,
"_links": {
"inUserById": [{
"href": "link",
"href": "link"
}]
"inUserByUsername": [{
"href": "link",
"href": "link"
}]
}
},
"_links": {
"href": "link"
}
},
{
"id": "2",
"email": "email2@email.com",
"user": {
**fields**,
"_links": {
"inUserById": [{
"href": "link",
"href": "link"
}]
"inUserByUsername": [{
"href": "link",
"href": "link"
}]
},
"_links": {
"href": "link"
}
}
],
"_links": {
"href": "link"
}
}
}
大多数链接都被简化了,但关键是,mockito似乎复制了这些链接。我用postman测试了这个端点,即使再发5封邮件,它也能正常工作。
暂无答案!
目前还没有任何答案,快来回答吧!