问题描述
我有一个从 Spring Hateoas 扩展 RepresentationalModel<T>
的 DTO。我还有一个类,它实现了 Spring Hateoas 的一个名为 SimpleRepresentationalModel 的接口,它所做的只是轻松地将链接添加到您的 DTO。现在,我还制作了自己的实用程序类,以添加来自 EmailDTO 的嵌套 UserDTO 的链接。所以 EmailDTO 看起来像这样:
{
"id": "1","email": "[email protected]","user": {
**fields**,"_links": {
"inUserById": "link","inUserByUsername": "link"
}
},"_links": {
"href": "link"
}
}
json 中的 user
实际上是一个 UserDTO。现在,当我获取用户拥有的所有电子邮件时(考虑到用户有 2 封或更多电子邮件),它应该如下所示:
{
"embedded": {
emailDTOList: [
{
"id": "1","user": {
**fields**,"_links": {
"inUserById": "link","inUserByUsername": "link"
}
},"_links": {
"href": "link"
}
},{
"id": "2","email": "[email protected]","_links": {
"href": "link"
}
}
],"_links": {
"href": "link"
}
}
}
但是当我使用 MockMvc
进行测试时,它看起来像这样:
{
"embedded": {
emailDTOList: [
{
"id": "1","_links": {
"inUserById": [{
"href": "link","href": "link"
}]
"inUserByUsername": [{
"href": "link","href": "link"
}]
}
},"href": "link"
}]
},"_links": {
"href": "link"
}
}
}
大部分链接都被简化了,但关键是,Mockito 似乎复制了链接。我使用邮递员测试了端点,即使再发送 5 封电子邮件,它也能完美运行。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)