Nginx NHibernate
WebApi httpget 函数里的参数是正常的 httppost 函数里的参数前需要加[FromBody],在请求时传参时,一个参数用"",多个参数用对象, (参数也有特定的格式,格式不是常见的key-value格式)
webapi 模型绑定器寻找的时候,并不是按照key去查找,而是空字符串
路由前置
get请求多个对象?
using System;
using System.Collections.Generic;
using System.Text;
namespace AbstractTest
{
//加特性
//前置路由
// [RoutePrefix("api/Course")]
class CourseController : ApiController
{
// [Route("")]
[HttpGet]
public string GetCourse()
{
return "GetCourse()方法返回的结果:WebAPI2开发技术";
}
[HttpGet]
public string GetCourseById(int courseId) //被默认路由屏蔽, //所以要用 /api/Course/100?courseId=200 调用
{
return "GetCourse()方法返回的结果:WebAPI2开发技术";
}
//与上面方法出现冲突可以使用特性路由
[Route("QueryCourse")]
[Route("Course/QueryCourse")] //通过算定义路由 ---{controller}/{action}
[HttpGet]
public string QueryCourse(int courseId) //被默认路由屏蔽, //所以要用 /api/Course/100?courseId=200 调用
{
return "GetCourse()方法返回的结果:WebAPI2开发技术";
}
[Route("Course/UpdateCourse")] //无参数post
[HttpPost]
public string UpdateCourse()
{
return "GetCourse()方法返回的结果:WebAPI2开发技术";
}
[Route("Course/DeleteCourse")] //有参数Post
[HttpPost]
public string DeleteCourse([Frombody]int courseId)
{
return "GetCourse()方法返回的结果:WebAPI2开发技术";
}
[Route("Course/AddCourse")] //有参数Post
[HttpPost]
public string AddCourse([FromBody]CourseInfo course)
{
return "some";
}
//路由约束
[Route("GetCount /{age: int = 0}"]
[httpget]
public string GetCount(int age)
{
}
}
public class CourseInfo
{
public int CourseId { get; set; }
public string Name { get; set; }
public int Category { get; set; }
public decimal Price { get; set; }
}
}
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title></title>
<script src="">
$(function () {
$("#btn1").click(function () {
$.get("/Course/QueryCourse", { coureId: 100 },
function (data, status) {
alert(data);
});
})
}
$(function () {
$("#btn2").click(function () {
$.post("/Course/UpdateCourse", null,
function (data, status) {
alert(data);
});
})
$(function () { //一个参数的用""传参数
$("#btn2").click(function () {
$.post("/Course/DeleteCourse", { "": 100 },
function (data, status) {
alert(data);
});
})
$(function () { //对象参数
$("#btn2").click(function () {
$.post("/Course/DeleteCourse", { coureId: 100 ,Name:"WebApi2",Category:2},
function (data, status) {
alert(data);
});
})
}
</script>
</head>
<body>
<div>
<a href="/api/Course">简单测试WebApi</a>
<a href="/api/Course/100">简单测试WebApi2</a>
<a href="/api/Course/100?courseId=100">简单测试WebApi3</a>
<input type="button" name="name" value="测试特性路由-Get" id="btn1" />
<input type="button" name="name" value="测试特性路由-post" id="btn2" />
</div>
</body>
</html>