.NET 핵심 WebAPI 포스트 매개 변수가 전달 될 때 수신 모드의 후단
- Entity 클래스
- 동적 다이나믹 형
- 하는 jobject 매개 변수
- 단일 매개 변수 (문자열 매개 변수)
포스트 요청 코드 원위부 A.
$.ajax({
url: "/api/student/poststudent",
type: 'POST',
data:JSON.stringify({ name: "张三", age: 21 }),
success:function () {
},
dataType: "json",
contentType: "application/json"
});
B. 파라 메트릭의 후단을 수용
1. 엔티티 클래스
Entity 클래스는 매우 높은 주파수를 매개 변수를 전달하는 간단한 방법입니다.
- 엔티티 클래스 추가
public class Student
{
public string Name { get; set; }
public int Age { get; set; }
}
- 배경 처리 후 요청 코드
[HttpPost("{id}")]
public void PostStudent(Student student)
{
}
- 매개 변수의 결과를 수신
다이나믹 형 2.dynamic
- 배경 처리 후 요청 코드
[HttpPost("{id}")]
public void PostStudent(dynamic student)
{
var name = student.name;//name大小写与前端参数一致
var age = student.age;
}
- 매개 변수의 결과를 수신
3.JObject 매개 변수
- 패키지는 Microsoft.AspNetCore.Mvc.NewtonsoftJson 소개
- 참조 추가
using Newtonsoft.Json.Linq;
- 배경 처리 후 요청 코드
[HttpPost("{id}")]
public void PostStudent(JObject student)
{
}
- 매개 변수의 결과를 수신
4. 단일 매개 변수 (문자열 매개 변수)
당신은 문자열의 컨텐츠에 작은 따옴표와 큰 따옴표로 문자열 매개 변수, 더블 가방을 보낼 수 있습니다!
- 상기 실시 형태의 코드의 선단 달리
$.ajax({
url: "/api/student/poststudent",
type: 'POST',
data:'"name=张三,age=21"',//这里是重点!用单引号包一个双引号,双引号里为字符串内容!
success:function () {
},
dataType: "json",
contentType: "application/json"
});
- 배경 처리 후 요청 코드
[HttpPost("{id}")]
public void PostStudent([FromBody] string values)
{
}
선행 WebApi 방법 파라미터 [FromBody]는 식별자 파라미터 값을 표시하는 대신에 URL로부터 본체 요구로부터 획득한다. [FromBody] 배경없이 매개 변수 값을 식별하는 데 실패합니다.
- 매개 변수의 결과를 수신
설정 크로스 도메인을 허용
크로스 도메인 설정을 허용하는 크로스 도메인 지원에 대한 수요가있는 경우. Stateup.cs에 다음 코드를 추가합니다.
- ConfigureServices 수정 방법은 다음 코드를 추가합니다 :
//允许一个或多个来源可以跨域
services.AddCors(options =>
{
options.AddPolicy("CustomCorsPolicy", policy =>
{
// 设定允许跨域的来源,有多个可以用','隔开
policy.WithOrigins("https://localhost:5000")//只允许https://localhost:5000来源允许跨域
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials();
});
});
- 구성 변경 방법은 다음 코드를 추가합니다 :
app.UseCors("CustomCorsPolicy");