【c#-在我的后端使用[FromBody]识别WebAPI参数是一种好习惯吗?】教程文章相关的互联网学习教程文章

c#-单元测试以确保仅选定的HTTP动词适用于WebAPI【代码】

使用WebAPI. 我们已经创建的测试之一是确保对于特定控制器,仅允许GET动词. 编写了一个使用MVC帮助页面的测试HttpSelfHostConfiguration config = new HttpSelfHostConfiguration(baseAddress); config.Routes.MapHttpRoute("SearchAPI", "api/{controller}/{id}");HttpSelfHostServer server = new HttpSelfHostServer(config); server.OpenAsync().Wait(); IApiExplorer apiExplorer = config.Services.GetApiExplorer(); var api...

c#-在WebAPI OData请求中包含相关实体【代码】

有什么方法可以在OData请求中包含相关实体? 例如,我有一个Person实体和一个Task实体.这种关系是一对多的,一个人有许多任务.如果我使用OData请求查询数据:/odata/Person为了获取所有Person实体,返回的json不包含每个Person的Tasks属性. 但是,如果我使用OData请求查询数据:/odata/Person(14)/Tasks我得到了属于那个人的任务的集合. 我希望能够做的是在我发出/ odata / Person请求时获得所有Person实体的所有任务.解决方法:尝试/od...

c#-WebAPI控制器中的ConfigureAwait(false)

SonarLint是否应在ASP.NET Web API控制器中触发S3216?似乎此规则适用于桌面应用程序,在ASP.NET中上下文完全不同,没有死锁的危险.还是我错过了什么?解决方法:@VictorGrigoriu,我们仅检查编译单元的输出类型是否为DLL,并且仅报告DLL中的问题.没错,我们报告了在DLL中仍然需要切换回原始上下文的情况.总的来说,这很困难,但是我们可以为顶级Web应用程序程序集添加检查.我们需要想出一个很好的方法来做到这一点,或者默认情况下禁用规则...

C#-DryIoc.WebApi设置【代码】

我正在探索.NET WebAPI应用程序中DryIoc的使用,并且注意到初始化步骤有奇怪的行为.在一个简单的测试webapi应用程序中,我具有以下DryIoc注册类,该类在WebApi配置注册后立即被调用.public class DryIocConfig {public static void Register(HttpConfiguration config){var c = new Container().WithWebApi(config);c.Register<IWidgetService, WidgetService>(Reuse.Singleton);c.Register<IWidgetRepository, WidgetRepository>(Reu...

c#-使用MapHttpRoute为WebAPI配置路由时出错【代码】

我有一个基于WebAPI的ASP.Net Web应用程序,该应用程序基于Frameworks 4.0和Visual Studio 2013构建. 最近,系统已格式化并安装了Visual Studio 2015.现在,我无法在Global.asax文件中映射WebAPI的路由. 以下是我用于配置路由的代码.RouteTable.Routes.MapHttpRoute(name: "DefaultApi",routeTemplate: "api/{controller}/{action}/{id}",defaults: new { id = System.Web.Http.RouteParameter.Optional });我不断收到以下错误. ‘Rou...

c#-在我的后端使用[FromBody]识别WebAPI参数是一种好习惯吗?【代码】

我有一个用angular和TypeScript编写的前端WebAPI,看起来像这样.removeSubset(id: number): ng.IPromise<any> {return this.$http.post(this.api + '/DeleteStudySubset', id).then(this.returnData);}returnData = (response: any) => {return response.data;};它调用的后端版本是这样写的[HttpPost][ResponseType(typeof(IHttpActionResult))]public async Task<IHttpActionResult> DeleteStudySubset(int id){await _subsetRepo....

c#-使用FromBody在WebAPI中建模的JSON对象和简单类型【代码】

我正在创建一个Web Api方法,该方法应接受JSON对象和简单类型.但是所有参数始终为空. 我的json看起来像{ "oldCredentials" : {"UserName" : "user","PasswordHash" : "myCHqkiIAnybMPLzz3pg+GLQ8kM=","Nonce" : "/SeVX599/KjPX/J+JvX3/xE/44g=","Language" : null,"SaveCredentials" : false }, "newPassword" : "asdf"}我的代码如下所示:[HttpPut("UpdatePassword")] [Route("WebServices/UsersService.svc/rest/users/user")] pu...

c#-.net webApi中不带id参数的删除请求【代码】

我有如下的.net核心WebApi.而且它运行良好.但是,当我写[HttpDelete]而不是[HttpDelete(“ {id}”)]时,它不起作用.可能是什么原因? 我的网址:http://localhost:5004/api/Student/DeleteStudent/23[ApiController] [Route("api/[controller]/[action]")] public class StudentController : ControllerBase {//[HttpDelete] ///////////////// This is not working[HttpDelete("{id}")] /////////// This is workingpublic async Ta...

【转】C#进阶系列——WebApi 接口参数不再困惑:传参详解【代码】【图】

阅读目录一、get请求1、基础类型参数2、实体作为参数3、数组作为参数4、“怪异”的get请求二、post请求1、基础类型参数2、实体作为参数3、数组作为参数4、后台发送请求参数的传递三、put请求1、基础类型参数2、实体作为参数3、数组作为参数四、delete请求五、总结 正文 前言:还记得刚使用WebApi那会儿,被它的传参机制折腾了好久,查阅了半天资料。如今,使用WebApi也有段时间了,今天就记录下API接口传参的一些方式方法,算是一个...

C#(.Net Core WebAPI)之API文档的生成(Swagger)【代码】【图】

一 : 安装Swagger 搜Swashbuckle.AspNetCore在NuGet 中,安装 Swashbuckle.AspNetCore :我使用的版本为 : 5.0.0-rc2 二 : 引入Swagger功能 Ⅰ : Startup.cs① ,ConfigureServices方法中: public void ConfigureServices(IServiceCollection services){services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2).AddJsonOptions(options =>{options.SerializerSettings.Formatting = Formatting.Indente...

关于Java链接c#的webapi的注意事项【代码】

最近写了一个关于ad域的项目,ad域我也是第一次接触,对ad域的总结我会晚一些时间写出来。在此我先总结一下关于Java调用c#的webapi的一个注意点。1 [HttpPost] 2 public Dictionary<string, object> CreateAccount([FromBody]object userJson) 3 { 4 5 6 return _icreateAccount.NewAccount(userJson.ToString()); 7 8 9 }这样写在c#中使用是可以的,但...

C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解【代码】【图】

使用过Webapi的园友应该都知道,Webapi的接口返回值主要有四种类型void无返回值 IHttpActionResult HttpResponseMessage 自定义类型此篇就围绕这四块分别来看看它们的使用。 一、void无返回值 void关键字我们都不陌生,它申明方法没有返回值。它的使用也很简单,我们来看一个示例就能明白。   public class ORDER{public string ID { get; set; }public string NO { get; set; }public string NAME { get; set; }public string D...

C#进阶系列——WebApi 接口参数不再困惑:传参详解【代码】【图】

一、get请求 对于取数据,我们使用最多的应该就是get请求了吧。下面通过几个示例看看我们的get请求参数传递。 1、基础类型参数[HttpGet] public string GetAllChargingData(int id, string name) {return "ChargingData" + id; }$.ajax({type: "get",url: "http://localhost:27221/api/Charging/GetAllChargingData",data: { id: 1, name: "Jim", bir: "1988-09-11"},success: function (data, status) {if (status == "success") ...

c# – Webapi为不同的用户提供多个oauth令牌【代码】

我正在使用oauth作为授权提供程序在asp.net中创建自己的webapi.api wil基本上可以作为我称之为不同模块的提供者.一个可以是图库,另一个可以是具有不同类型用户的用户登录模块. 我有oauth部分工作正常. Api用户可以通过使用登录凭据调用/ Token端点来注册然后请求令牌. 但是我现在想在api中创建另一个单独的用户模块,只有注册的apiusers才能访问.我希望这个模块有另一个注册和登录功能,并有自己的端点登录(/ UserModuleToken或类似的...

c# – 测试Patch odata webapi方法【代码】

我需要在我的测试项目的odata控制器中测试以下Patch方法.[ValidateModel][AcceptVerbs("PATCH", "MERGE")]public async Task<IHttpActionResult> Patch([FromODataUri] int key, Delta<User> patch){var user = await db.Users.FindAsync(key);if (user == null){return NotFound();}patch.Patch(user);Validate(user);if (!ModelState.IsValid){return BadRequest(ModelState);}try{db.Entry(user).Property(p => p.UserType).IsM...

WEBAPI - 相关标签