我正在使用.net core 3.1,并且已按照Microsoft文章在以下地址设置了默认接触器,但当我查看邮递员时,它仍显示小写JSON响应。
我正在使用Telerik的kendo ui网格,现在期望Pascal情况下对象已正确交付,因此我完全无法确定可能出了什么问题。
Telerik网格https://demos.telerik.com/aspnet-core/grid/index
文档:https://github.com/aspnet/Announcements/issues/194
public void ConfigureServices(IServiceCollection services) {
services.AddControllers();
services.Configure<ConnectionStringConfig>(Configuration);
services.AddHttpClient("externalservice", c => {
// Assume this is an "external" service which requires an API KEY
c.BaseAddress = new Uri("https://localhost:5001/");
});
services.AddSwaggerGen(c => {
c.SwaggerDoc("v1", new OpenApiInfo { Title = "Api For RoundTable A Complete ERP for
warehouse managment", Version = "v1" });
});
services
.AddControllersWithViews()
.SetCompatibilityVersion(CompatibilityVersion.Version_3_0)
// Maintain property names during serialization. See:
// https://github.com/aspnet/Announcements/issues/194
.AddNewtonsoftJson(options => options.SerializerSettings.ContractResolver = new DefaultContractResolver());
}
我的api中的控制器只是从sql server中获取。
public async Task<IActionResult> ReadStock([DataSourceRequest] DataSourceRequest request)
{
List<Stock> _result = new List<Stock>();
_result =await apiClient.GetStockFromApi();
object test = Json(_result);
return Json(_result);
}
但是,当我检查邮递员时,结果仍然是小写,因此>
以下是我的getstock api调用。
我设法使其达到Pascal的情况,但网格仍未返回任何数据。public async Task<List<Stock>> GetStockFromApi(){ List<Stock> _result = new List<Stock>(); var uri = new Uri(string.Format(Constants.GetALlStock, string.Empty)); var response = await _httpClient.GetAsync(uri); if (response.IsSuccessStatusCode) { var byteArray = await response.Content.ReadAsByteArrayAsync(); var content = Encoding.UTF8.GetString(byteArray, 0, byteArray.Length); _result = JsonConvert.DeserializeObject<List<Stock>>(content); } return _result.ToList(); }
更新
我正在使用.net core 3.1,并且已按照Microsoft文章在以下地址设置了默认接触器,但当我查看邮递员时,它仍显示小写JSON ...
这显然是我必须做的,默认情况下是驼峰式,但是我必须强调,在3.0版之前,我不必这样做。