龙空技术网

asp.net Core(5.0)raw方式发送post请求服务端Web Api详解

DevEcoStudio 117

前言:

此时各位老铁们对“netpostjavascript”大致比较关注,看官们都需要了解一些“netpostjavascript”的相关内容。那么小编在网摘上搜集了一些有关“netpostjavascript””的相关文章,希望兄弟们能喜欢,兄弟们快快来学习一下吧!

一、新建控制器文件

新建控制器文件

创建控制器文件

二、添加JSON.net依赖

添加json.net依赖

三、控制器文件录入以下关键代码

[Route("api/UserRequestBody")]    [ApiController]    public class RequestBody : ControllerBase    {        [HttpPost]        //定义异步Post任务        public async Task<string> PostAsync()        {            JObject jObject = new JObject();            String RequestContent = null;            StreamReader streamReader = null;            Encoding encoding = Encoding.UTF8;            try            {                Request.EnableBuffering();                Request.Body.Seek(0, SeekOrigin.Begin);//从流的起始位置开始跳跃                //以下注释代码采用c#语法糖using,既方便又简洁,但有的编程语言没有这样的语法糖,导致不具备编程语言通用性。                /*using (streamReader = new StreamReader(Request.Body, System.Text.Encoding.UTF8))                {                    RequestContent = await streamReader.ReadToEndAsync();                }*/                streamReader = new StreamReader(Request.Body, encoding);                try                {                    //await :用于异步方法内部,指出需要异步执行的任务。                    RequestContent = await streamReader.ReadToEndAsync();                    if (RequestContent == "" || RequestContent == null)                    {                        jObject.Add(new JProperty("code", "1"));                        jObject.Add(new JProperty("message", "没有发送内容"));                    }                    else                    {                        //raw支持Text、JavaScript、JSON、HTML、XML                        //可根据项目实际需要处理raw,比如:json,以下代码为处理json示例                        try                        {                            JObject ReversejObject = (JObject)JsonConvert.DeserializeObject(RequestContent);                            if (ReversejObject["MemberCardName"] == null|| ReversejObject["MemberCardRank"] == null)                            {                                jObject.Add(new JProperty("code", "1"));                                jObject.Add(new JProperty("message", "传递参数不全"));                            }else if (ReversejObject["MemberCardName"].ToString() != "金卡" || ReversejObject["MemberCardRank"].ToString() != "20")                            {                                jObject.Add(new JProperty("code", "1"));                                jObject.Add(new JProperty("message", "会员卡错误"));                            }                            else                            {                                jObject.Add(new JProperty("code", "0"));                                jObject.Add(new JProperty("message", "正确调用"));                            }                        }                        catch (JsonException)                        {                            jObject.Add(new JProperty("code", "1"));                            jObject.Add(new JProperty("message", "JSON格式错误"));                        }                                            }                }                catch(Exception error)                {                    Console.WriteLine("错误说明:" + error.ToString());                }            }            catch (Exception e)            {                Console.WriteLine("错误说明:" + e.ToString());            }            finally            {                if (streamReader != null)                {                    streamReader.Dispose();                    streamReader.Close();                }            }            return jObject.ToString();        }    }

四、编译并运行服务端

运行服务端

五、打开Postman查看运行效果

Postman运行效果

Postman运行效果

Postman运行效果

Postman运行效果

六、感谢您的观看[微笑],欢迎批评与指正,期待您的关注和转发,下期会更精彩,谢谢!

标签: #netpostjavascript #netpost机制 #netpost图片 #asp post请求