解决.Net Core ABP框架后台返回JSON自带result字段的问题
背景
在使用ABP的Controller时候遇到一个问题,我要实现的功能是上传一张照片,后端以json格式返回图片的地址、描述等信息,我在后端编写的代码如下:
正常情况,后端返回的json应该是如下格式的:
{"errno":0,"data":{"url":"/Upload/getImg?ImgId=17c5e8370f4143668f9b7fda0116f4c1.webp","alt":"yyy","href":"zzz"}}
但是我接收到的是这样的:
{"result":{"errno":0,"data":{"url":"/Upload/getImg?ImgId=ff98b4e5f2094818b69244e78bc57f26.jpg","alt":"yyy","href":"zzz"}},"targetUrl":null,"success":true,"error":null,"unAuthorizedRequest":false,"__abp":true}
外面多了一圈我不需要的Result,targetUrl,unAuthorizedRequest,__abp这些奇奇怪怪的东西。
解决
经过多方查找资料,我才明白,APB对于Controller返回的Json自动进行了一层封装,如果不需要APB进行封装的话,需要在方法上面加上一个注解:
[DontWrapResult]
加上以后,返回的json就是原样返回了
ps:我还发现我返回的data里的数据还被一层“value”封装住了,我在返回的data定义里面使用.value来获取原始内容。
{{item.nickName}}{{item.email}}{{item.webSiteUrl}}
{{item.content}}
{{item2.nickName}}{{item2.createTime}}
@{{item.nickName}} {{item2.content}}
目录