环境:window10,IDEA社区版
1.IDEA社区版没有Spring框架的,要在Settings->Plugins中找到Spring Assistant插件进行安装,然后重启IDEA。
2.构建新项目:file- >new->project->Spring Assistant->Default->Project properties项目属性填写->Web->Spring web->Project name->finish即可。
3.在项目主包下,新建controllers包,在此包下新建HelloController.java文件,代码如下:
@Controller
public class HelloController {
@RequestMapping("/index")
public @ResponseBody
UserBean index(){
UserBean userBean = new UserBean(110,"luoYanDa","187111111");
return userBean;
}
}
4.在项目主包下,新建beans包,添加UserBean.java
public class UserBean {
private int id;
private String name;
public void setId(int id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setPhoneNum(String phoneNum) {
this.phoneNum = phoneNum;
}
public int getId() {
return id;
}
public String getName() {
return name;
}
public String getPhoneNum() {
return phoneNum;
}
private String phoneNum;
public UserBean(int id, String name, String phoneNum) {
this.id = id;
this.name = name;
this.phoneNum = phoneNum;
}
}
5.运行项目,就是运行主包下的xxxxApplication类,里面有main方法,然后它会启动内置的tomcat的。
6.在浏览器中输入:http://localhost:8080/index
,返回结果如下:
{"id":110,"name":"luoYanDa","phoneNum":"187111111"}
是一个标准的json字符串。
7.对于有参请求,可以这样,参考上面,新建PostController类
@Controller
public class PostController {
private Object TestBean;
@RequestMapping("/test1")
@ResponseBody
public Object test1( String name, String pass ){
String s1 = name;
String s2 =pass;
ArrayList<UserBean> list = new ArrayList<>();
list.add(new UserBean(110,"luoYanDa00","45454451*"));
list.add(new UserBean(111,"luoYanDa11","4512312**"));
list.add(new UserBean(112,"luoYanDa22","15456522***"));
TestBean testBean = new TestBean(125,list);
if(name.equals("luo")&&pass.equals("123"))
return s1+s2+"登录成功";
else
return testBean;
}
}
在Android Studio模拟器中运行:是本地服务器,注意IP是10.0.2.2:,不是localhost,但对于Retrofit,要ipconfig得到ipv4,使用ipv4才能访问本地服务器。
var url ="http://10.0.2.2:8080/test1"
var requestParams = RequestParams()
requestParams.addBodyParameter("name","luo");
requestParams.addBodyParameter("pass","12");
requestParams.uri = url
// requestParams.method = POST
x.http().post(requestParams,object : Callback.CommonCallback<String>{
override fun onFinished() {
}
override fun onSuccess(result: String?) {
Log.d("jsonTest","xUtils:"+result)
}
override fun onCancelled(cex: Callback.CancelledException?) {
}
override fun onError(ex: Throwable?, isOnCallback: Boolean) {
Log.d("jsonTest","error"+ex.toString())
}
})
结果如下:
jsonTest: xUtils:{"id":125,"arrayList":[{"id":110,"name":"luoYanDa00","phoneNum":"45454451*"},{"id":111,"name":"luoYanDa11","phoneNum":"4512312**"},{"id":112,"name":"luoYanDa22","phoneNum":"15456522***"}]}
好了,简单的接口就好了,后面加数据库。