项目:地址
API:地址
1.新建一个Controller类
/**
* 通用接口
*/
@RestController
@RequestMapping(path = "/comm")
public class CommController {
/* 支持GET、POST请求*/
@RequestMapping(path = "/login1", method = {RequestMethod.POST, RequestMethod.GET}, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
void login1(HttpResponse response, @RequestParam(name = "username") String username, @RequestParam(name = "password") String password) {
String json = "{\"username\":\"" + username + "\",\"password\":\"" + password + "\"}";
ResponseBody body = new JsonBody(json);
response.setBody(body);
}
/* 支持GET、POST请求*/
@RequestMapping(path = "/login", method = {RequestMethod.POST}, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
String login(HttpResponse response, @RequestParam(name = "username") String username, @RequestParam(name = "password") String password) {
String json = "{\"username\":\"" + username + "\",\"password\":\"" + password + "\"}";
JSONObject jsonObject = (JSONObject) JSONObject.toJSON(new LoginInfo(username, password));
return jsonObject.toJSONString();
}
}
这里可以通过输入网址测试一下,这里面有2个方法,刚开始也不明白,就是测试一下Ajax里面获取参数的时候不一样,这两个方法一个是有返回值,一个是没有的:
http://192.168.0.128:8080/comm/login1?username=123&password=321
这里返回:
{
"username": "123",
"password": "321"
}
http://192.168.0.128:8080/comm/login?username=123&password=321
{
"data": "{\"password\":\"321\",\"username\":\"123\"}",
"errorCode": 200,
"isSuccess": true
}
看一下js的代码:
$(function(){
})
function onSubmit(){
var username = $("#username").val();
var password = $("#password").val();
$.ajax({
//请求方式
type : "POST",
//请求地址
url : "comm/login",
dataType:"json",
//数据,json字符串
data : {
"username":username,
"password":password
},
//请求成功
success : function(data) {
//将字符串装为json
var dataObj = eval('('+data.data+')');
alert(dataObj.username);
},
//请求失败,包含具体的错误信息
error : function(e){
console.log(e.status);
console.log(e.responseText);
}
});
}
HTML可以随便写2个输入框
alert 可以得到我们想要的值。