问题描述
我有以下patch
请求:
curl --location --request PATCH 'http://localhost:8888/image' \
--form 'Width=1500' \
--form 'Height=1000' \
--form 'ID=5f3c03457118797a3a7a6f8c' \
--form 'File=@/D:/IMG_20190901_144155.jpg'
我的请求DTO如下:
[Route("/image")]
public class Request : IReturnVoid
{
public string ID { get; set; }
public int Width { get; set; }
public int Height { get; set; }
}
服务方法如下:
public class ImageService : Service
{
public async Task Patch(Request req)
{
var id = req.ID;
var height = req.Height;
var width = req.Width;
await Task.Delay(100);
}
}
我遇到的问题是服务堆栈未填充DTO请求。
如果我放置一个断点并在调试Servicestack.Web.IRequest.FormData
属性中进行检查,它将显示以下异常:
'(((ServiceStack.Host.NetCore.NetCoreRequest)Request).FormData'引发了类型为'System.IO.InvalidDataException'的异常
但是,如果我只是将其更改为POST
而不是PATCH
的请求,一切都会很好。
这是服务栈中的错误还是我在这里错过了一些关键的东西?
如果您需要一个repro项目,则可以找到它here
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)