美文网首页
spring 构建api

spring 构建api

作者: BestFei | 来源:发表于2020-03-17 16:26 被阅读0次

    一、Get请求
    uri:/{country}/details?appName=xxx&tagName=xxxx

        @RequestMapping(value = "/{country}/details",method = RequestMethod.GET)
        public Response queryAppTag(@PathVariable("country")String country),
                                        @RequestParam(name = "appName") String appName,
                                        @RequestParam(name = "tagName") String tagName) {
            Response response = new Response();
            try {
                ...
                return response;
            }
            catch (Exception e){
                log.error(e.getMessage());
                response.setMsg(e.getMessage());
                response.setErrorCode(ErrorEnum.SystemError.getErrorCode());
                return response;
            }
        }
    

    二、Post请求
    psot带path的参数,json请求报文

        @RequestMapping(value = "/{country}/del",method = RequestMethod.POST)
        public Response delAppTag(@PathVariable("country")String country,
    @RequestBody appDetailRequest appDetailRequest){
            Response response = new Response();
            try {
                ...
                return response;
            }
            catch (Exception e){
                log.error(e.getMessage());
                response.setMsg(e.getMessage());
                response.setErrorCode(ErrorEnum.SystemError.getErrorCode());
                return response;
            }
        }
    

    三、带分页功能的api

        @RequestMapping(value = "/list/{country}", method = RequestMethod.GET)
        public ResponseCountryDetails<CountryDetail> queryAllByNation(
                @RequestParam(value = "page", required = false, defaultValue = "1") int page,
                @RequestParam(value = "pagesize", required = false, defaultValue = "5") int pageSize,
                @PathVariable String country) {
            List<CountryDetail> result = countryService.queryListByNation(country, page, pageSize);
            ResponseCountryDetails<CountryDetail> response = new ResponseCountryDetails<CountryDetail>(result);
            return response;
        }
    
    import com.github.pagehelper.PageHelper;
    
        public List<CountryDetail> queryListByNation(String country, int page, int pageSize) {
            List<CountryDetail> result = null;
            try {
                // 调用pagehelper分页,采用starPage方式。starPage应放在Mapper查询函数之前
                PageHelper.startPage(page, pageSize); //每页的大小为pageSize,查询第page页的结果
                PageHelper.orderBy("count DESC "); //进行分页结果的排序
                result = this.countryDao.queryAllByNation(country);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return result;
        }
    
    public interface CountryDao {
        @Select({
                " select " +
                        "          ...字段名 ,count(*) as count " +
                        "        from dbname.tablename " +
                        "        where  nation = #{country} " +
                        "        group by  字段名"
        })
        List<CountryDetail> queryAllByNation(@Param("country") String country);
    }
    

    相关文章

      网友评论

          本文标题:spring 构建api

          本文链接:https://www.haomeiwen.com/subject/mwmtyhtx.html