• 【Pyton】访问Java提供的Rest接口示例


    代码:

    # coding=utf-8
    import urllib.request
    
    url="http://localhost:8080/mediacool/probeUser"
    
    param_dict={'name':'何杨','pswd':'1'}
    param_str=urllib.parse.urlencode(param_dict)
    params_bytes=param_str.encode()
    
    req=urllib.request.Request(url,data=params_bytes)
    with urllib.request.urlopen(req) as rsps:
        data=rsps.read()
        json_data=data.decode();
        print(json_data)

    输出:

    C:hypy>python postMediaCoolUser.py
    {"Interface ID":"8973","startTime":"2021-10-31 12:08:33.793817800","visitorIp":"0:0:0:0:0:0:0:1","code":"303","msg":"确 认用户名和密码无误","userInfo":{"id":1,"name":"何杨","email":"1@2.3"},"endTime":"2021-10-31 12:08:33.799822200"}

    附:

    Java接口:

    package com.hy.myapp.rest;
    
    import java.time.LocalDate;
    import java.time.LocalTime;
    import java.util.LinkedHashMap;
    import java.util.Map;
    
    import javax.servlet.http.HttpServletRequest;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RequestMethod;
    import org.springframework.web.bind.annotation.RestController;
    
    import com.hy.myapp.Entity.User;
    import com.hy.myapp.service.UserService;
    import com.hy.myapp.util.RestUtil;
    
    /**
     * 用于用户服务的Restful控制器
     * @author hy
     * 2021年10月31日
     */
    @RestController
    public class UserRestCtrl {
        @Autowired
        private UserService userService;
        
        @RequestMapping(value="/probeUser", method=RequestMethod.POST)
        public Map<String,Object> probeUser(String name,String pswd,HttpServletRequest rqst){
            Map<String,Object> retvalMap=new LinkedHashMap<String,Object>();
            
            retvalMap.put("Interface ID", "8973");
            
            String startTime=LocalDate.now()+" "+LocalTime.now();
            retvalMap.put("startTime", startTime);
            
            String visitorIp=RestUtil.findVisitorIpFrom(rqst);
            retvalMap.put("visitorIp", visitorIp);
            
            if(name==null) {
                retvalMap.put("code", "301");
                retvalMap.put("msg", "name不可缺失");
                String endTime=LocalDate.now()+" "+LocalTime.now();
                retvalMap.put("endTime", endTime);
                return retvalMap;
            }
            
            if(pswd==null) {
                retvalMap.put("code", "302");
                retvalMap.put("msg", "password不可缺失");
                String endTime=LocalDate.now()+" "+LocalTime.now();
                retvalMap.put("endTime", endTime);
                return retvalMap;
            }
            
            // 到此name、pswd都有了
            User user=userService.searchUserByNamePswd(name, pswd);
            if(user!=null) {
                retvalMap.put("code", "303");
                retvalMap.put("msg", "确认用户名和密码无误");
                retvalMap.put("userInfo", user);
                
                String endTime=LocalDate.now()+" "+LocalTime.now();
                retvalMap.put("endTime", endTime);
                
                return retvalMap;
            }else {
                retvalMap.put("code", "304");
                retvalMap.put("msg", "用户名或密码有误");
                
                String endTime=LocalDate.now()+" "+LocalTime.now();
                retvalMap.put("endTime", endTime);
                
                return retvalMap;
            }
        }
    }

    END

  • 相关阅读:
    [Bzoj2243][SDOI2011]染色(线段树&&树剖||LCT)
    [poj3074]Sudoku(舞蹈链)
    [Bzoj1047][HAOI2007]理想的正方形(ST表)
    [Bzoj1030][JSOI2007]文本生成器(AC自动机&dp)
    [Bzoj2431][HAOI2009]逆序对数列(前缀和优化dp)
    [Bzoj1072][SCOI2007]排列perm(状压dp)
    [Bzoj1195][HNOI2006]最短母串(AC自动机)
    Ajax解决IE浏览器兼容问题
    运行eclipse弹出“Failed to load the JNI shared”解决方法
    Java表单类双击提交
  • 原文地址:https://www.cnblogs.com/heyang78/p/15488994.html
Copyright © 2020-2023  润新知