首页 > 其他分享 >在webapi中发起HttpPost请求

在webapi中发起HttpPost请求

时间:2024-08-06 16:17:14浏览次数:11  
标签:webapi set 请求 get httpClientFactory req HttpPost using public

1.第一步,在启动文件添加

builder.Services.AddHttpClient();

实体类: 

public class SearchReq
{
    public string Name { get; set; }
    public string Description { get; set; }
    public int PageIndex { get; set; }
    public int PageSize { get; set; }
}
using Microsoft.AspNetCore.Mvc;
using System.Text;
using System.Text.Json;
using WebApplication8._6.Model;
using static System.Net.Mime.MediaTypeNames;

namespace WebApplication8._6.Controllers
{
    [Route("api/[controller]/[action]")]
    [ApiController]
    public class ValuesController : ControllerBase
    {
        private readonly IHttpClientFactory _httpClientFactory;
        public ValuesController(IHttpClientFactory httpClientFactory)
        {
            _httpClientFactory = httpClientFactory;
        }
        [HttpPost]
        public string Test()
        {
            return "value1";
        }

        /// <summary>
        /// 发起请求调用Test方法
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public async Task<string> PostTest()
        {
            SearchReq req = new SearchReq();
            req.Name = "zhangshang";
            req.Description = "Description";
            req.PageSize = 10;
            req.PageIndex = 1;
            //包装参数
            var reqJson = new StringContent(
                JsonSerializer.Serialize(req),
                Encoding.UTF8,
                Application.Json
            );
            var httpClient = _httpClientFactory.CreateClient();
            using var httpResponseMessage = await httpClient.PostAsync("https://localhost:7279/api/Values/Test", reqJson);
            var readStr = await httpResponseMessage.Content.ReadAsStringAsync();
            return readStr;
        }

    }
}

 

标签:webapi,set,请求,get,httpClientFactory,req,HttpPost,using,public
From: https://www.cnblogs.com/tlfe/p/18345400

相关文章

  • 搜索请求后,属性名称已更改为属性 ID,如何解决?
    我在前端使用ReactNativeExpoWeb应用程序,在后端使用Django。我有一个运行良好的搜索功能。但我面临的问题是,在搜索项之后,特定动物的属性名称已更改为属性id(数字)。我的意思是,在手风琴中显示类别名称。但搜索后会显示类别ID。在前端我有一个具有一些属性的手风......
  • Java 用jetty实现HTTP服务器 获取 Get 请求体
    Java用jetty开发HTTP服务器来获取每次GET请求中的请求体监听本机IP地址 中的 /httpCli 端口5011Main.javapackagecom.JettyServer;importorg.eclipse.jetty.server.Server;importorg.eclipse.jetty.server.handler.ContextHandler;importorg.eclipse.......
  • 聊聊项目中如何实现请求聚合
    前言什么是请求聚合见名之意就是将多次的请求整合为一个请求处理如何实现请求聚合有个快手大佬开源了一个工具类:buffer-trigger,这玩意就可以用来做请求聚合。buffer-trigger适用场景高吞吐量消息处理:当系统需要处理大量快速产生的数据或消息时,如日志记录、事件追踪......
  • C# 使用Flurl http请求处理流式响应
    AI对话接口采用流式返回,使用Flurl处理返回的数据流usingFlurl;usingFlurl.Http;[HttpPost]publicasyncTask<string>GetLiushiChatLaw(){//1、请求参数,根据实际情况YourModelrequest=newYourModel();stringallStr="";stringchatLawApiUrl="ht......
  • Python 网络抓取与请求和美丽的汤被需要 javascript 阻止
    我正在尝试从网站上抓取文本。我使用简单的代码:requests.get(url_here)。我的代码直到最近才有效。现在,当我使用请求时,我收到一条消息,而不是获取网站的文本:“该网站需要启用JavaScript!您使用的浏览器不支持JavaScript,或者已关闭JavaScript。“我已验证我的浏览器确实......
  • [C++] 简单解析http请求
    #include<iostream>#include<string>#include<map>#include<vector>#include<regex>classHttpRequest{public:enumMethod{GET,POST,UNKNOWN};enumError{SUCCESS,......
  • Django5+Vue3:OA系统前后端分离项目实战-异步优化Ajax请求(12)
    Django5+Vue3系列文章前言本节开始,全文仅对会员开放。若点赞和收藏数量超过100,全文将免费开放。此项目采用Django框架的5.0.7版本进行开发。Django5.0支持的Python版本为3.10、3.11和3.12。OA系统系列文章将持续更新,直至项目的Docker部署阶段。专栏链接:......
  • Flask 应用程序的 POST 请求出现 405 method not allowed 错误
    我有一个简单的Web应用程序,可以使用以下代码向选定的受访者发送消息(使用TwilioAPI):app.pyclient=Client(account_sid,auth_token)@app.route('/')defindex():returnrender_template('index.html')@app.route('/send_sms',methods=['POST......
  • 为什么有些POST请求会发送两次?
    今天在浏览博客时,我发现了一个有趣的问题:“为什么POST请求会发送两次?”之前我从未注意到这个问题。我的第一反应是,是否是因为防抖处理不当导致POST请求被发送两次。......
  • aiohttp 存在超时问题,但请求没有超时问题
    我正在尝试使用两种不同的方法在Python中获取网页:requests和aiohttprequests方法工作正常,但aiohttp方法会导致超时。代码如下:importasyncioimportaiohttpimportrequestsheaders={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x6......