Web API Post方法无效

我有一个webapi控制器,以下是一个post方法.
public HttpResponseMessage Register(string email,string password)
   {

   }

我如何从浏览器进行测试?

当我用浏览器从浏览器测试时,它没有击中控制器.

http://localhost:50435/api/SignUp/?email=sini@gmail.com&password=sini@1234

它给了我以下错误.

Can’t bind multiple parameters (‘id’ and ‘password’) to the request’s
content.

你能帮我么???

解决方法

您收到错误,因为您无法以这种方式将多个参数传递给WebApi.

第一种选择:
您可以通过以下方式创建一个类并从body传递数据:

public class Foo
{
    public string email {get;set;}
    public string password {get;set;}
}

public HttpResponseMessage Register([FromBody] Foo foo) 
{
    //do something
    return Ok();
}

第二种选择:

public HttpResponseMessage Register([FromBody]dynamic value)
{
    string email= value.email.ToString();
    string password = value.password.ToString();
}

并以这种方式传递json数据:

{
  "email":"abc@test.com","password":"123@123"
}

更新:

如果您想从URL获取数据,那么您可以使用属性路由.

[Route("api/{controller}/{email}/{password}")]
public HttpResponseMessage Register(string email,string password) 
{
    //do something
    return Ok();
}

注意:网址应为:http:// localhost:50435 / api / SignUp / sini @ gmail.com / sini @ 1234不要忘记在WebApiConfig中启用属性路由如果使用这种方式,则会出现安全问题.

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些