标签: webapi

.NET 6 中缺少 Startup.cs 类

我在 .NET 5 中创建了 REST API,一切都运行良好,但最近我转移到 .NET 6 并意识到不存在startup.cs 类。由于没有startup.cs,如何在.NET 6 中添加数据库上下文?

.net asp.net-core webapi .net-6.0

105
推荐指数
4
解决办法
14万
查看次数

如何修改postman中的Content-Type

我正在尝试在邮递员中测试我的逻辑应用程序 API,但我遇到了标头邮递员自动添加的问题

内容类型=多部分/表单数据;

当我将鼠标悬停在内容类型选项卡上时,看到“使用请求正文选项卡来控制值或删除标头”

任何人都可以帮助我如何设置 Content-Type = application/json

在此输入图像描述

postman azure-logic-apps webapi

29
推荐指数
2
解决办法
4万
查看次数

无法解析类型“Microsoft.Extensions.Caching.Memory.IMemoryCache”的服务

我有一个WEB API使用.NET 6的系统。我使用MemoryCache来存储数据。但是当我运行 Api 时,出现以下错误:

无法解析类型“Microsoft.Extensions.Caching.Memory.IMemoryCache”的服务

我的控制器:

public class myContoroler : Controller
{
    private readonly MemoryCache _memoryCache = new MemoryCache(optionsAccessor: null);

    
   [HttpPost]
    public async Task<IActionResult> myAPI(Model modelS)
    {
      var users = _memoryCache.Get("UserData")
      ...
    }

 }
Run Code Online (Sandbox Code Playgroud)

.net c# asp.net .net-core webapi

15
推荐指数
1
解决办法
1万
查看次数

在 NextJS 中使用 Web Crypto API,但出现错误“加密未定义”

我可以在 NextJS 中使用 Web 加密 api 吗?

我尝试使用

crypto.subtle.digest('SHA-256', data)
Run Code Online (Sandbox Code Playgroud)

但出现错误

ReferenceError: crypto is not defined
Run Code Online (Sandbox Code Playgroud)

javascript next.js webapi

13
推荐指数
2
解决办法
2万
查看次数

从 swagger UI 中排除特定的 Web Api 端点

我正在使用 Swagger UI 和 asp.net core web api。对于我的CRUD操作,我有一个基本控制器类,它定义了抽象方法:

public class BaseController<TDto, TEntity>
{
    [HttpPost, Route("create-single")]
    public abstract Task<ObjectResult> CreateAsync(TDto input);

    [HttpPost, Route("create-many")]
    public abstract Task<ObjectResult> CreateManyAsync(IList<TDto> input);

    [HttpGet, Route("get-all")]
    public abstract Task<ObjectResult> GetAllAsync();

    [HttpGet, Route("get/{id}")]
    public abstract Task<ObjectResult> GetByIdAsync(Guid id);

    ...
    ...
}
Run Code Online (Sandbox Code Playgroud)

某些控制器可能不需要所有 CRUD 方法,并且我需要从 swagger 中消失这些端点。

例如,我需要消失/get/{id}特定控制器的端点,实现此目的的最佳方法是什么?

c# asp.net-web-api swagger-ui asp.net-core webapi

12
推荐指数
1
解决办法
9647
查看次数

.NET 6 中的自托管 Web API

我需要向现有库添加一个非常简单的 Web API,以便 Python 可以与应用程序进行通信。简单请求/JSON 响应。这比最初想象的更具挑战性。我习惯了 NodeJS,像 Express 这样的库可以通过几行代码来完成此操作。

显然,Web 服务器需要集成到库中。我不能依赖 IIS 或任何 Web 服务器。

网络上到处都是此类教程:

https://github.com/jbogard/Docs/blob/master/aspnet/web-api/overview/hosting-aspnet-web-api/use-owin-to-self-host-web-api.md

安装:Microsoft.AspNet.WebApi.OwinSelfHost

主要的

 static void Main(string[] args)
        {
            string baseAddress = "http://localhost:9000/";

            // Start OWIN host 
            using (WebApp.Start<Startup>(url: baseAddress))
            {
                // Create HttpCient and make a request to api/values 
                HttpClient client = new HttpClient();

                var response = client.GetAsync(baseAddress + "api/values").Result;

                Console.WriteLine(response);
                Console.WriteLine(response.Content.ReadAsStringAsync().Result);
                Console.ReadLine();
            }
        }
Run Code Online (Sandbox Code Playgroud)

启动

public class Startup
{
    // This code configures Web API. The Startup class is specified as a type …
Run Code Online (Sandbox Code Playgroud)

c# asp.net owin webapi

12
推荐指数
1
解决办法
1万
查看次数

.NET 6.0 Web API 中的 CORS

我有一个使用 Axios 调用 .NET 6 Web API 的 React 应用程序。

在program.cs文件中,我添加了builder.Services.AddCors和app.UseCors,如下所示。

但我仍然收到 CORS 错误和 404 预检。

该方法适用于 .NET 5 Web Api。

我们需要为 .NET 6 Web Api 设置什么吗?

using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.EntityFrameworkCore;
using Microsoft.OpenApi.Models;
<removed>

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddCors();

// Add services to the container.
<removed>

// App settings
<removed>

<removed>

builder.Services.AddHttpContextAccessor();

builder.Services.AddControllers()
    .AddJsonOptions(options =>
    {
        options.JsonSerializerOptions.Converters.Add(new DateTimeConverter());
    });

// AutoMapper
builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());

// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();

<removed>

// Firebase
<removed>

var app = builder.Build();
Run Code Online (Sandbox Code Playgroud)

CORS …

c# webapi .net-6.0

9
推荐指数
1
解决办法
2万
查看次数

Firefox 中没有 showSaveFilePicker - 我可以使用什么来代替?

我非常惊讶地发现 FF 不支持window.showSaveFilePicker

caniuse-showSaveFilePicker

我可以在 FF 中使用什么来允许以编程方式从浏览器保存文件?

也许有人可以解释一下 FF 不支持此功能的原因是什么?

firefox desktop webapi showsavefilepicker

9
推荐指数
1
解决办法
1053
查看次数

将 WebApi 方法的参数标记为 Swashbuckle / Swagger 已过时/已弃用

根据我对Swagger 规范的理解,可以将参数标记为过时:

不推荐使用的参数

用于deprecated: true将参数标记为已弃用。

        - in: query
          name: format
          required: true
          schema:
            type: string
            enum: [json, xml, yaml]
          deprecated: true
          description: Deprecated, use the appropriate `Accept` header instead.```
Run Code Online (Sandbox Code Playgroud)

我怎样才能让 Swashbuckle 为参数生成这个?

为什么?

我有一个类似以下的控制器方法:

        - in: query
          name: format
          required: true
          schema:
            type: string
            enum: [json, xml, yaml]
          deprecated: true
          description: Deprecated, use the appropriate `Accept` header instead.```
Run Code Online (Sandbox Code Playgroud)

我想更改查询字符串参数名称,同时暂时保持向后兼容,所以我想做类似的事情:

[HttpGet]
public async Task<IActionResult> Execute(bool? someName)
{
}
Run Code Online (Sandbox Code Playgroud)

但是,Obsolete不能应用于参数。我预计这Swashbuckle.AspNetCore.Annotations可能是一个找到这种功能的地方,但它似乎没有。

c# swashbuckle webapi

8
推荐指数
1
解决办法
7392
查看次数

异步剪贴板 API“ClipboardItem 未定义” - Reactjs 将图像复制到剪贴板

我正在研究 React js,我使用 npm 通过 create-react-app 创建了我的应用程序。我试图构建一个按钮来获取图像并将其写入剪贴板。幸运的是,我发现这个npm 库似乎工作得很好!但我一直在思考为什么我不能使用\xc2\xbfbuilt-in? 用于复制图像的异步剪贴板 API(文本复制工作正常)。我在这里读了一本非常有启发性的指南,并在这里继续阅读其他很棒的指南,所以我尝试了那里和其他页面中建议的所有代码(尽管它们似乎并没有真正改变功能,但我必须尝试)。我在每次尝试时都遇到了同样的错误,阻碍了编译:“\'ClipboardItem\'未定义 no-undef ”。例如,一个代码是这样的:

\n
const response = await fetch(\'valid img url of a png image\');\nconst blob = await response.blob();\nawait navigator.clipboard.write([new ClipboardItem({ \'image/png\': blob})]);\n\n
Run Code Online (Sandbox Code Playgroud)\n

它看起来很简单,很容易遵循。问题是,当您需要将数据放入剪贴板可以读取的表单中,使其成为一个 blob 时,因为我需要 ClipboardItem 构造函数,而我的应用程序似乎无法识别它。当然,不断返回 ClipboardItem 未定义,或者如果我以某种方式定义它,则表示它不是构造函数。我尝试使用其他构造函数,例如 Blob(),但遇到了同样的问题。最后一件事让我一直在思考,由于我是编程世界的新手,如果有一些基本的东西我不知道 Web API 与 Node 或 Reactjs 的交互,以及是否有一个当然是解决方案!提前谢谢你们,你们太棒了!

\n

编辑:根据要求添加整个组件代码:

\n
import React from "react";\n  \nfunction TestingClipAPI () { \n\n  async function handleScreenshot () {\n    const response = await fetch(\'https://i.postimg.cc/d0hR8HfP/telefono.png\');\n    const blob …
Run Code Online (Sandbox Code Playgroud)

clipboard image npm reactjs webapi

8
推荐指数
2
解决办法
1万
查看次数