java 接口发布_HTTP接口的发布,用Javaweb如何实现?

第一个回答:

和咱们写普通方法没什么区别,你只要设定好返回的数据格式就行,比如:xml或者是json格式!

下面是我写的例子,你可以参考下:

源代码:

import java.util.HashMap;

import java.util.Map;

import javax.servlet.http.HttpSession;

import org.slf4j.Logger;

import org.slf4j.LoggerFactory;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseBody;

import cn.gov.csrc.cms.entity.UserEntity;

import cn.gov.csrc.cms.service.UserService;

import cn.gov.csrc.cms.util.GlobalConstants;

/**

* 客户端登录

* @version 1.0

* @author zhaoxinguo

* @created 2020年06月18日

*/

@Controller

@RequestMapping("/u")

public class ClientController {

private static Logger logger = LoggerFactory

.getLogger(ClientController.class);

private Integer flag;// 返回值(0失败,1成功)

@Autowired

private UserService userService;

/**

* 登录(接口)

* @param model

* @param userName

* @param passWd

* @return

* @version 1.0

* @author zhaoxinguo

* @created 2020年06月18日

*/

@RequestMapping("/login")

@ResponseBody

public Map login(Model model,HttpSession session,String userName,String passWd,String onlyCode){

UserEntity userEntity = userService.login(userName,passWd);

Map dataMap = new HashMap();

if(userEntity != null){

/*if(userEntity.getOnlyCode().equals(onlyCode)){

dataMap.put("userId", userEntity.getUserId());

logger.info("-----客户端登录成功-----");

dataMap.put("flag", 1);// 成功

}else{

logger.info("-----客户端登录失败-----");

dataMap.put("flag", 0);// 失败

}*/

session.setAttribute(GlobalConstants.SESSION_LOGIN_USER,userEntity);// 登录成功

dataMap.put("userId", userEntity.getUserId());

logger.info("-----客户端登录成功-----");

dataMap.put("flag", 1);// 成功

}else{

logger.info("-----客户端登录失败-----");

dataMap.put("flag", 0);// 失败

}

return dataMap;

}

public Integer getFlag() {

return flag;

}

public void setFlag(Integer flag) {

this.flag = flag;

}

}

第二次回答:

返回json是最流行的,如果需要返回xml,可以使用一些XML工具来转换。但是需要在用到的model上加xml注解,且不宜解决递归调用。最笨的办法是自己拼xml格式字符串,注意字符编码就行。给你个参考:

代码:

@RequestMapping(value="/anonymous/getXml",produces = "application/xml; charset=utf-8")

@ResponseBody

public String getXml(String args,HttpServletResponse response) {

try {

String str = getStrXml(args);//这样去获取你的xml字符串,自己去处理,可以传参数

return str;

} catch (Exception e) {

return "出现内部错误。";//这里打印个错误信息吧

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值