c# - android 改造使用 asp.net web api [FromBody] 始终为 null

标签 c# android asp.net json retrofit

我正在使用用 C#、MVC 编写的 Web API,它看起来像:

public IEnumerable<Day> Post([FromBody] string postObject)

使用 fiddler 或 poster 我可以发布到该 REST 服务,因为我的 body 在发送 JSON 之前有一个 =,比如

={"BillTypeId":"4","RestId":"1"}

使用 retrofit 进行此调用我无法发送那个初始 = 并且我的请求看起来像

{"BillTypeId":"4","RestId":"1"}

这使得其余服务始终接收空参数。 你知道在我的 json 之前发送它的方法吗?因为我这样称呼休息

void postToGetDayList(@Body ResquestListenerBillType request, Callback<List<Day>> callback);

谢谢!!!

最佳答案

如果你还没有解决你的问题,我想你可以引用我下面的代码:

网络接口(interface):

public class ValuesController : ApiController
{
    // GET api/values
    public IEnumerable<string> Get()
    {
        return new string[] { "value1", "value2" };
    }        

    // POST api/values
    public string Post([FromBody]string value)
    {
        return value;
    }        
}

改造 WebAPI 服务:

public interface WebAPIService {
    @GET("/api/values")
    List<String> listValues();

    @POST("/api/values")
    String postValues(@Body String value);
}

调用webAPIService.postValues("BNK");

您会发现结果如下图所示。希望这可以帮助! Debug info

关于c# - android 改造使用 asp.net web api [FromBody] 始终为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30521911/

相关文章:

c# - Html.TextBoxFor NullReferenceException 使用 Razor 语法

c# - Winforms 中自定义控件绘画的最佳实践?

android - 如何从 Android 中的 ListActivity 中获取多个选定项目

c# - 使用 ASP.Net + SQL Server 构建在线音频库

c# - WCF 到数据库连接

c# - 为什么在 MergeSort 中使用 InsertionSort 而不是 Merge 平均速度更快?

android - 在 Flutter 中改变方向时保留 TextField 值

android - 如何以编程方式添加联系人?

asp.net - 当用户使用 CAS SSO 注销时,ASP.NET MVC 触发 HttpRequestValidationException

asp.net - 在 ASP.NET 网站中使用 LoadLibrary 加载非托管 DLL