【问题标题】:How to Post in a WEB API RESTFULL random credit card number如何在 WEB API RESTFUL 中发布随机信用卡号
【发布时间】:2021-05-27 06:28:46
【问题描述】:

我对 C# 编码非常陌生,或者根本不熟悉编码,我正在尝试创建一个 API RESTFULL,当用户发布其电子邮件时,它会自动创建一个简单的信用卡号。我正在乞求 POST 功能。

// POST: api/Clientes

    [HttpPost]
    public async Task<ActionResult<Cliente>> PostCliente(Cliente cliente)
    {
        _context.Clientes.Add(cliente);
        await _context.SaveChangesAsync();

        return CreatedAtAction("GetCliente", new { id = cliente.Id }, cliente);
        
    }

所以我的问题是,将生成 16 数字并通过 POST 在 api 中注册的代码行是什么? 提前感谢您的帮助。

第 2 部分

感谢您的解决方案,它部分工作。但是,当我将它部署到 Postman 中时,即使我能够注册 ID - 电子邮件 - 信用卡号码(这很好,我仍然收到一条错误消息,如下所示。你知道我怎么不能得到这个留言?

System.InvalidOperationException: No route matches the supplied values. at Microsoft.AspNetCore.Mvc.CreatedAtActionResult.OnFormatting(ActionContext context) at Microsoft.AspNetCore.Mvc.Infrastructure.ObjectResultExecutor.ExecuteAsyncCore(ActionContext context, ObjectResult result, Type objectType, Object value)

(消息太长,我这里就不一一发了)

【问题讨论】:

  • 欢迎来到 StackOverflow。你有什么问题?
  • 那么您是在问如何生成随机的 16 个字符的数字字符串?或者您试图暗示的 API 控制器操作中是否存在一些问题?很难具体看出你在问什么。
  • 抱歉,我编辑了这个问题。基本上我想知道如何在 API 上生成和发布。当用户给我电子邮件时,它会注册电子邮件以及随机的信用卡号。
  • 如何将 API 部署到 postman?
  • 测试一下? @zolty13

标签: c# api asp.net-core-webapi


【解决方案1】:

如果在Cliente类中有属性“CreditCardNumber”,基本上可以这样写

[HttpPost]
public async Task<ActionResult<Cliente>> PostCliente(Cliente cliente)
{
    //Begin
    Random rnd = new Random();
    int cardNumber1 = rnd.Next(4572, 4999);
    int cardNumber2 = rnd.Next(1000, 9999);
    int cardNumber3 = rnd.Next(1000, 9999);
    int cardNumber4 = rnd.Next(1000, 9999);
    cliente.CreditCardNumber = $"{cardNumber1} {cardNumber2} {cardNumber3} {cardNumber4}";
    //End
    _context.Clientes.Add(cliente);
    await _context.SaveChangesAsync();

    return CreatedAtAction("GetCliente", new { id = cliente.Id }, cliente);
    
}

【讨论】:

  • 感谢 Tunjay 的回复,对我帮助很大。
  • 但是,当它部署到 Postman 中时,即使我能够注册 ID - EMAIL - 信用卡号(这很好,我仍然收到一条错误消息,如下所示。会你知道我怎么收不到这条消息吗?System.InvalidOperationException: No route matches the supplied values. at Microsoft.AspNetCore.Mvc.CreatedAtActionResult.OnFormatting(ActionContext context) at Microsoft.AspNetCore.Mvc.Infrastructure.ObjectResultExecutor.ExecuteAsyncCore(ActionContext context, ObjectResult result, Type objectType, Object value)@Tunjay
  • 回答晚了,但是很多事情都会导致,需要看代码
猜你喜欢
  • 2010-12-09
  • 2016-06-23
  • 1970-01-01
  • 1970-01-01
  • 2017-01-20
  • 2013-03-02
  • 1970-01-01
  • 2018-11-25
  • 2017-06-20
相关资源
最近更新 更多