.NET核心2.0网络API中的BSON
我有.NET Core WebAPI项目,我想发送请求并在BSON中获得响应. 我安装了services.AddMvc().AddBsonSerializerFormatters(); in startup.cs in ConfigureServices. 我需要做其他任何事情吗? 我在控制器中具有测试方法: [HttpGet] public string GetTestBson() { return "test string bson"; } 我尝试使用Postman进行测试,在标题中我有Content-Type: application/bson 但是作为回应,我没有Bson ...我有"test string bson" 我在做什么错? 解决方案 提出请求时,您需要设置Accept的请求标题,该标题设置为application/bson: Accept: application/bson 通过使用Content-Ty
0 2024-04-21
编程技术问答社区
如何通过postman将JSON对象发布到MVC端点?
我有一个JSON对象,并试图向我的API端点提出帖子请求. 在我的列表控制器中,我有以下功能 [HttpPost] public async Task Import(GetImportInput input) { return StatusCode(200); } getimportinput.cs public string Name {get; set;} Postman详细信息: ContentType = application/json Body = { "name" : "Rabbit" } 当我在导入方法中放置断点时,断点命中,但是参数输入没有值Rabbit.我可以问一下如何正确地让我的邮递员发送尸体,以便我的控制器方法会捡起它. 标题选项卡 解决方案 您在控制器方法中缺少[Body],壳体不是这里的问题.请记住使用标题内容类型:与Postman
0 2024-04-20
编程技术问答社区
在WebApi 2中检测到属性的自引用循环
我已经创建了一个Web API来保存新产品并在数据库中进行评论.以下是WebAPI代码: 发布API/产品 [ResponseType(typeof(Product))] public IHttpActionResult PostProduct(Product product) { if (!ModelState.IsValid) { return BadRequest(ModelState); } db.Products.Add(product); db.SaveChanges(); return CreatedAtRoute("DefaultApi", new { id = product.ProductId }, product); } 产品类 public class Product { public int ProductId { get; set; } [Required
0 2024-04-20
编程技术问答社区
如何从Postman获取表单数据到WebApi
我想从Postman接收表单数据: Content-Type: application/json 这是WebAPI方法: [HttpPost] [Route("api/test")] public async Task TestMethod(HttpRequestMessage request) { var test = await request.Content.ReadAsStringAsync(); } 我得到的是: ------WebKitFormBoundarypqDvmeG89cBR9mK9 Content-Disposition: form-data; name="test" esad ------WebKitFormBoundarypqDvmeG89cBR9mK9-- ,但我不希望使用WebKitFormBoundary的数据,并且我仅限于使用FormData.还有其他方法吗? http呼叫信息: POST /api/
0 2024-04-20
编程技术问答社区
从PostMan调用asp.net core web api
我试图从Postman中调用以下函数(ASP.NET Web API Core): [HttpPost] public InfluencerSearchResultWithFacets Post(string q, string group, List subGroups) { return GetSearchResult("",null,null); } ,但我有以下错误: 需要一个非空的请求机构 我有这样的设置邮递员: 我也尝试添加到身体: 解决方案 ,因此您可以创建一个 之类的模型 public class Model { public string q { get; set; } public string group { get; set; } public ListsubGroups { get; set; } } 并使用它 [HttpPost] public InfluencerSear
0 2024-04-19
编程技术问答社区
在解析数值时遇到意外字符的错误:. 路径'',第1行,第1位
我有一个ASP.NET Core 2.1应用程序.我遇到的错误与以下链接相同. 出乎意料的角色在解析值时遇到了意外的角色.路径'',第1行,位置1 答案部分中建议的解决方案似乎也解决了问题. 但是为一个物业创建一堂课是高架,对我没有吸引力. 过去,我没有使用.NET Framework 4.5(+) 创建这样的开销类别. // POST api/values [HttpPost] public void Post([FromBody]string email) { } 通过Postman,我发布 { "email": "myemail@email.com" } 如何将电子邮件值传递给API而不创建任何类或 这样的? 我希望粘贴[FromBody],因为我应用程序中的所有API都接受了Post方法中的params FromBody. 解决方案 如果您想传递电子邮件值而不创建类,只需通过 "myemail@email.co
0 2024-04-19
编程技术问答社区
使用C# HttpClient API和postman测试之间的差异?客户端调用在postman上起作用,但C# httpClient getAsync不起作用
我正在测试一个REST API帖子,当我在Postman上尝试它时,它可以很好地工作.但是,在某些情况下(与发布XML数据有关),如果我使用httpclient API发布,我会收到以下错误: 无法从运输连接中读取数据:现有连接被远程主机强行关闭. 但是,相同的XML内容在邮递员的状态正常和正确响应上正常工作. 使用C#HTTPCLIENT API和POSTMAN测试之间有什么区别?如何配置我的API调用以与Postman上的行为匹配? 在这里,我附上了源代码,邮递员屏幕截图 public void createLoan() { string baseCreateLoanUrl = @"https://serverhost/create?key="; var strUCDExport = XDocument.Load(@"C:\CreateLoan_testcase.xml"); using (var client = new Ht
0 2024-04-19
编程技术问答社区
Web Api HTTPPost不接受int
我只是想传递body a int,它不起作用 为什么我需要创建具有INT类型的属性的类? (然后起作用) 作品 [HttpPost] [Route("api/UpdateMainReversed")] public IHttpActionResult UpdateMainVerified(DataAccess.Entities.RequestMain mainValues) { ....} 不工作 [HttpPost] [Route("api/UpdateMainReversed")] public IHttpActionResult UpdateMainVerified(int mainId) { ....} 与Postman进行测试 http://http://localhost:13497/api/api/updatatemainrevered 身体 { "mainId" : 1615 } 解决方案 1.您的[
0 2024-04-18
编程技术问答社区
在Postman中连接ECONNREFUSED
我正在尝试通过Postman测试我的REST API,并且我会收到以下错误: 这是我写过的第一个REST API,我对Postman来说是非常新的,所以不确定我在做什么错.以下是我试图用此URL在Postman中调用的代码.我在URL中传递了两个日期参数 https://localhost:44360/api/RecLoadPrime/insertRecLoadData/?RecStartDate=01/01/2020&RecEndDate=01/02/2020 以下是代码: using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using RecLoa
0 2024-04-18
编程技术问答社区
当Postman插件将数值[FromBody]传递给post方法时为空值
我在ASP.NET Web API中使用API​​控制器,我需要将值传递给[From Body]类型. [HttpPost] public HttpResponseMessage Post( [FromBody]string name) { .... } i使用 Postman 插件,但是发送到 name 的帖子值时始终为 null . 和邮政方法: 为什么会发生这种情况?! 解决方案 您无法使用JSON绑定单个原始字符串,JSON将传输一个对象,并且控制器将期望复杂的对象(模型)依次依次.如果您只想发送一个字符串,请使用URL编码. 在您的标题集上 Content-Type: application/x-www-form-urlencoded 邮政请求消息主体的主体应为=saeed(基于您的测试值),而别无其他.对于未知/可变字符串,您必须编码该值,以便您不会意外使用输入字符逃脱. 替代1 创建一个模型并使用它
0 2024-04-17
编程技术问答社区
调用在Postman中有效,但在C#中无效
我试图打电话到URL下方,并且在浏览器(Chrome)和Postman中都可以正常工作,但是由于某种原因,它在C#中不起作用. 在浏览器中工作: 在.com/api/类别 在Postman中工作: 在.com/api/类别 在C#(RestSharp)中不起作用: var client = new RestClient("http://AJWKBLWT47VR26QWPNFCPJLXC6217F6F@presta.craftingcrow.com/api/categories"); var request = new RestRequest(Method.GET); request.AddHeader("cache-control", "no-cache"); request.AddHeader("User-Agent", @"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTM
0 2024-04-17
编程技术问答社区
使用jsonData作为键值,在asp中发送混合数据。不能用这些值来更新数据库
尝试混合postman中的文件图和JSON数据后,我终于找到了一种方法,可以在同一请求中发送它们.因此,我已经将JSON数据移至Postman中的密钥,因此可以使用Form-Data也可以发送文件(下图). 在值中,我的JSON数据如下: { "WorkshopEmail":"workshopemail", "WorkshopContactperson":"workshopcontactperson", "WorkshopCellphone":"workshopcellphone", "Service":[ { "service":"Claim Airbag", "RequestTypeId":"1", "DamageDate":"2021-05-03", "DamageKilometerreading":"213", "LatestServiceDa
0 2024-04-17
编程技术问答社区
用Postman向Asp.net Core webapi发送PATCH时出现错误
我有一个模型, public class Order { public Guid Id { get; set; } public IEnumerable ItemIds { get; set; } public string Currency { get; set; } } 和一个存储库, public interface IOrderRepository { IEnumerable Get(); Order Get(Guid id); void Add(Order order); void Update(Guid id, Order order); // other irrelevant code has been deleted for simplicity } public class MemoryOrderRepository : IOrderRepository {
0 2024-04-16
编程技术问答社区
InvalidDataException。超过了多部分主体长度限制16384
我要做的事情: 我试图用文件上传multipart/form-data,使用邮递员将postman的json blob上传到asp.net core 2.2 APIController,然后将文件传输到磁盘上的临时文件,而不是由于该磁盘上的临时文件而不是完全到内存中文件的大小可能很大(20MB -2GB).我遵循了两个示例,来自 https://lealen.microsoft.com/en-us/aspnet/core/mvc/models/file-uploads?view= aspnetcore-2.2 从大型文件示例开始,但我也尝试过测试测试小文件示例具有相同的错误,相似但不同的堆栈跟踪.服务器使用kestrel. 大文件示例的堆栈跟踪(在调试器中捕获): Exception has occurred: CLR/System.IO.InvalidDataException Exception thrown: 'System.IO.InvalidDataExcep
0 2024-04-14
编程技术问答社区
Postman错误。当试图从我的.net core api获取时,"无法验证第一个证书"。
我拥有带有API的全新.NET核心服务,我想获得其中的项目列表.它托管在Localhost上,我总是有一个错误: 16 ms Warning: Unable to verify the first certificate Network Request Headers User-Agent: PostmanRuntime/7.26.8 Accept: */* Postman-Token: e64e10c3-8e3a-4b47-9427-d994e2bdc9fd Host: localhost:44397 Accept-Encoding: gzip, deflate, br Connection: keep-alive Request Body Response Headers Transfer-Encoding: chunked Server: Microsoft-IIS/10.0 X-Powered-By: ASP.NET Date: Tue, 19 Ja n 2021 14:
0 2024-04-14
编程技术问答社区
ASPNetCore-通过REST上传文件
我正在使用失眠来测试API,但是Postman也是如此. 我想通过以下控制器测试文件上传: public async Task Post([FromForm]IFormFile File) 如果我将请求设置为多部分请求: 它有效. 但是,如果我将其设置为二进制文件: 我不知道如何获取数据.怎么办? 另外,在控制器方法的签名中,如果我从form Form更改为[从body],则我没有获取数据. 有人可以为我澄清一下吗? 解决方案 您已经注意到,在Postman/Insomnia中使用binary file选项不起作用.有三种不同的方法可以通过RESTFUL API上传文件,您必须选择一个. 我包括了读取上传的文件内容并输出的代码段 - 尝试发送文本文件,您应该在200个响应中获取文件的内容. form-data上传 这是最受欢迎/最著名的上传方法,将您发送为一组密钥/值对发送的数据格式化.
0 2024-04-12
编程技术问答社区
使用Postman的ASP Core WebApi测试文件上传
我创建了一个端点,该终点是任意文件: [HttpPost()] public async Task CreateFile(IFormFile file) 当我与Postman进行测试时,file始终为null. 这是我在Postman中所做的: 我在做什么错? 解决方案 感谢 @rmjoia的评论,我使它起作用了!这是我在Postman中必须做的: 其他解决方案 上传文件或文件的完整解决方案如下: 此操作用于上传多个文件: // Of course this action exist in microsoft docs and you can read it. HttpPost("UploadMultipleFiles")] public async Task Post(List files) { long size = files.Sum(f =
0 2024-04-12
编程技术问答社区
c# asp.net core Bearer error="invalid_token"
我有一个有效的令牌,但无法使我的身份验证部分正常工作.为什么看似有效的令牌获取令牌invalid token错误? 这是登录代码,如果使用适当的凭据,它将返回有效令牌.相反,相比之下,登录凭据无效a 401 Unauthorized. 登录代码 [HttpPost("login")] public async Task Login(UserForLoginDto userForLoginDto) { var userFromRepo = await _repo.Login(userForLoginDto.Username.ToLower(), userForLoginDto.Password); if (userFromRepo == null) return Unauthorized(); var claims = new[] {
4 2024-04-12
编程技术问答社区
代币已过期或被撤销-谷歌广告
嗨,我一直在使用REST方法将Google ADS API集成在C#中.一切似乎都很好,但是突然之间,我开始通过错误消息获得400响应. { "error": "invalid_grant", "error_description": "Token has been expired or revoked." } 如上所述,我不是在使用客户端库,而是使用RestSharp并使用Postman测试我的所有终点. 有什么原因发生的原因?我的刷新令牌也有效.我已经使用了一个星期.我也没有达到刷新令牌的极限,因为当我试图设置帐户时,我只生成了3至4次的刷新令. 我相信刷新令牌的有效性是生命的时间,然后再发生了吗? 解决方案 我通过使用操场生成新的刷新令牌来解决问题.由于我的项目的OAuth同意屏幕的发布状态是在测试模式下,其过期的原因. 如果您要整合API,则需要应用 Production 的发布状态以避免在过期时手动生成刷新令牌. 其他解
0 2024-04-11
编程技术问答社区
为什么这里会出现 "没有找到符合请求URI的HTTP资源"?
我的控制器中有代码: [Route("api/deliveryitems/InsertIntoPPTData/{stringifiedRecord}")] ...我正在通过邮递员这样称呼: http://localhost:21609/api/deliveryitems/InsertIntoPPTData? stringifiedRecord=serNum77;tx2;siteNum2;bla2.xml;ppt_user2;tx_memo2;file_beg2;file_end2 ...但是得到: { Message: "No HTTP resource was found that matches the request URI 'http://localhost:21609/api/deliveryitems/InsertIntoPPTData? stringifiedRecord=serNum77;tx2;siteNum2;bla2.
4 2024-04-11
编程技术问答社区