解决.Net Core ABP框架后台返回JSON自带result字段的问题

背景

在使用ABP的Controller时候遇到一个问题,我要实现的功能是上传一张照片,后端以json格式返回图片的地址、描述等信息,我在后端编写的代码如下:

yyy

正常情况,后端返回的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]

捕获2.PNG

加上以后,返回的json就是原样返回了

ps:我还发现我返回的data里的数据还被一层“value”封装住了,我在返回的data定义里面使用.value来获取原始内容。

{{allCount}} 评论
{{item.nickName}}{{item.email}}{{item.webSiteUrl}}
{{item.createTime}}回复

{{item.content}}

{{item2.nickName}}{{item2.createTime}}

@{{item.nickName}} {{item2.content}}