初始WebApi

Posted 那个35岁的男人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初始WebApi相关的知识,希望对你有一定的参考价值。

处理跨域访问WebApi

所谓跨域,个人理解:端口、协议、以及域名两个不同的地址数据交互。

在WebApi中,通过Cors处理跨域访问的问题

步骤一:包管理工具下载 Cors

步骤二:在WebApi.config配置Cors,才能使用

 步骤三:为控制器配置EnableCors

代码如下:

using Demo_1.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.Cors;

namespace Demo_1.Controllers
{
    /*
         * 第一步:Nut包下载Cors
         * 第二步:WebApi Config配置Cors服务
         * 第三步:EnableCors为控制器配置
         * 
         * EnableCors需要进行三个属性的配置进行请求
         * origins:所有网站
         * headers:所有头
         * methods:get、post、put、delete
         * *号表示所有都可请求
         */

    //问题1:校验过程从客户端搬到服务器端,这样的好处就不容易给篡改,除非服务器给攻陷。
    //问题2:怎么知道 ?? 用户登录了还是为登录
    //如果登录了,那么请求头headers里面装则登录信息,反之为空
    //防止代码被篡改:jwt算法
    //给登录的用户一个加密串,代表登录人的身份
    [EnableCors(origins: "*", headers: "*", methods: "*")]
    [RoutePrefix("api/Values")]
    public class ValuesController : ApiController
    {
        
        [HttpGet]
        [Route("")]
        public string Hello()
        {
            return "World";
        }
        [HttpPost]
        [Route("login")]
        public bool Login(UserViewModel data)
        {
            if (data.LoginName=="lisi" && data.Password=="123456")
            {
                return true;
            }
             return false;
       
        }
        [HttpGet]
        [Route("getInfo")]
        public string GetUserIngo(string loginName)
        {
            return loginName+"用户资料" ;
        }
    }
}

 

以上是关于初始WebApi的主要内容,如果未能解决你的问题,请参考以下文章

初始WebApi 利用WebApi实现基础的CRUD

Jekyll 偏移代码片段高亮的初始行

如何使用 Swift 使用此代码片段为 iOS 应用程序初始化 SDK?

如何在使用cardview的片段中初始化gridlayoutmanager?

我想在每次选择底部导航项时初始化片段

vscode 用户代码片段 vue初始化模板 Snippet #新加入开头注释 自动生成文件名 开发日期时间等内容