SpringBoot 는 AJAX 를 통 해 매개 변 수 를 가 져 오 는 방식 List 집합

설명:
GET 와 POST 방식 은 제 가 생각 할 수 있 는 모든 조합 을 테스트 하면 서 GET 는 List 가 없 는 JSON 데이터 만 전달 할 수 있다 는 것 을 알 게 되 었 습 니 다.
POST 에는 제한 이 없다.
전단:

var json={username:"zangsan",password:"123456",favs:["football","running"]}
console.log(encodeURI((JSON.stringify(json))));
$.ajax({
    url: 'test1',
    type: "GET",
    traditional:true,
    data: json,
    success: function (data) {
   
    },contentType: "application/json;charset=UTF-8"
});

 json={username:"zangsan",password:"123456",favs:["football","running"],friends:[{name:"ho",age:10},{name:"zz",age:12}]}
$.ajax({
    url: 'test2',
    type: "POST",
    data: JSON.stringify(json),
    success: function (data) {
   
    },
    contentType: "application/json;charset=UTF-8"
});

주의 점:
1) GET 요청 은 JSON 문자열 이 아 닙 니 다. jquery 는 url 요청 인자 로 전 환 됩 니 다.
2) traditonal: true 를 절약 할 수 없습니다. 이것 은 브 라 우 저가 집합 매개 변 수 를 'favs []' 라 고 부 르 는 것 을 방지 하 는 것 입 니 다. 이렇게 하면 배경 이 잘못 보 고 됩 니 다.
3) POST 가 요청 한 JSON. stringify 는 생략 할 수 없습니다
4) contentType 에 대해 서 는 모두 절약 할 수 없다 고 말 하지만, 나 는 생략 할 수 있다 는 것 을 발견 했다 (chrome 브 라 우 저 테스트)
자바 배경
/**
	 * GET     ,          json,       
	 * @param users
	 */
	@GetMapping("/test1")
	@ResponseBody
	public void test1( User user){
		System.out.println(user.getUsername());
		System.out.println(user.getFavs());
		System.out.println(user.getFriends());
	}
	

	/**
	 * post     JSON     
	 * @param users
	 */
	@PostMapping("/test2")
	@ResponseBody
	public void test2(@RequestBody User user){
		System.out.println(user.getUsername());
		System.out.println(user.getFavs());
		System.out.println(user.getFriends());
	}
public class Friends {
	public String name;
	public Integer age;
}
public class User {
	public String username;
	public String password;
	
	private List favs;
	private List friends;
}

주의 점:
1) GET 는 일반 매개 변수 가 져 오 는 방식 으로 가 져 옵 니 다. 여기 에는 주의 할 주해 가 없습니다. 그러나 @ ResponseBody 는 절약 할 수 없습니다. 이것 은 ajax 가 처리 해 야 할 일 을 요청 하 는 것 입 니 다. @ RequestBody 는 추가 하지 마 십시오. 추가 하면 이상 을 버 릴 수 있 습 니 다.
2) POST 여기 @ RequestBody 필수
여기 서 변 한 문 제 는 jquery 의 ajax 방식 으로 ajax 요청 데 이 터 를 전달 하 는 형식 을 알 아야 한 다 는 것 이 라 고 생각 합 니 다.
그리고 SpringMVC 의 ajax 요청 매개 변수 처리 문 제 를 연구 하고 제거 하려 면 소스 코드 를 봐 야 합 니 다.나중에 시간 나 면 해.

좋은 웹페이지 즐겨찾기