接口传值到springboot,并调用接口值生成的文件 - Go语言中文社区

接口传值到springboot,并调用接口值生成的文件


   接口传值到springboot,并调用接口值生成的文件

首先在controller写一个接口

@RequestMapping(value="/edit")
public ModelAndView edit() throws Exception{
	logBefore(logger, Jurisdiction.getUsername()+"修改VideoList");
	if(!Jurisdiction.buttonJurisdiction(menuUrl, "edit")){return null;} //校验权限
	ModelAndView mv = this.getModelAndView();
	PageData pd = new PageData();
	pd = this.getPageData();
	String menuIds = pd.getString("VIDEO_TYPE");
	BigInteger rights = RightsHelper.sumRights(Tools.str2StrArray(menuIds));//用菜单ID做权处理
	pd.put("VIDEO_TYPE_ROLE",rights);
	System.out.println(pd);
	videolistService.edit(pd);
        
	    /**
	    *接口开始部分,上部分为编辑代码
	    **/
	    CloseableHttpClient httpclient = HttpClients.createDefault();
        List<NameValuePair> params = new ArrayList<NameValuePair>();
   	    params.add(new BasicNameValuePair("VIDEO_URLqpchangdu", pd.getString("VIDEO_URLqpchangdu")));
        params.add(new BasicNameValuePair("VIDEO_URLqpgeshu", pd.getString("VIDEO_URLqpgeshu")));
        params.add(new BasicNameValuePair("VIDEO_URLlujing", pd.getString("VIDEO_URLlujing")));
        params.add(new BasicNameValuePair("VIDEO_NO", pd.getString("VIDEO_NO")));
        System.out.println(params+"   11111111111");
        try {
            //参数转换为字符串
            String paramsStr = EntityUtils.toString(new UrlEncodedFormEntity(params, "UTF-8"));
            System.out.println(paramsStr+"       2222222222");
            String url =  "http://localhost:8011/api/test" + "?" + paramsStr;
            System.out.println(url+"url");
            // 创建httpget.
            HttpGet httpget = new HttpGet(url);
            httpget.setHeader("Content-Type", "application/json");
            System.out.println("executing request " + httpget.getURI());
            // 执行get请求.
            CloseableHttpResponse response = httpclient.execute(httpget);
                // 获取响应实体
            HttpEntity entity = response.getEntity();
                // 打印响应状态
            System.out.println(response.getStatusLine());
                if (entity != null) {
                    // 打印响应内容长度
                    System.out.println("Response content length: " + entity.getContentLength());
                    // 打印响应内容
                	String text = EntityUtils.toString(entity);
                	System.out.println("Response content: " + text);
                    System.out.println(text="下载完成");
                	pd.put("TEXT", text);
                    pd.put("APISERVICE_ID",this.get32UUID());
                    pd.put("TOKEN",pd.getString("token"));
                     
                   // pageData.put("PAGE",""+i);
                   // pageData.put("p_LIMIT","1");
                   // apiserviceService.save(pageData);
                }
        } catch (Exception e) {
            e.printStackTrace();
        }  
     try {
         httpclient.close();
     } catch (IOException e) {
         e.printStackTrace();
     }
  
     String text=pd.getString("TEXT");
     System.out.println(pd +"aaaaaaaaaaaaaa");
    if(text=="下载完成"){
    mv.addObject("msg","success");
	mv.setViewName("save_result");
	return mv;
    }
    if(text=="保存失败"){
    	 mv.addObject("msg","success");
 		mv.setViewName("save_defalt");
 		return mv;
    }
    else {
    	mv.addObject("msg","defult");
    	mv.setViewName("save_lose");
    	return mv;
    }
}

然后在新生成的springboot框架中写接收api接口

package com.example.demo;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.;
import javax.servlet.http.HttpServletRequest;
import java.io.
;
import java.io.BufferedWriter;
import java.io.FileWriter;
@RestController
@EnableAutoConfiguration
@Controller
@RequestMapping("/api")
public class HelloSpringboot {

@ResponseBody
@RequestMapping("/test")
public String test(@RequestParam String VIDEO_URLqpchangdu,
                   @RequestParam String VIDEO_URLqpgeshu,
                   @RequestParam String VIDEO_URLlujing,
                   @RequestParam String VIDEO_NO) {
    /* return "长度="+VIDEO_URLqpchangdu+"   个数"+VIDEO_URLqpgeshu+"     路径"+VIDEO_URLlujing+"    no."+VIDEO_NO;*/
    String a = "保存成功";
    String b = "调用失败";
    String c = "保存失败";
    try {
        String content = "ffmpeg  -f rtsp -rtsp_transport tcp -i rtsp://admin:cbh12345@172.16.102.242:8124/Streaming/Channels/3901?transportmode=unicast -fflags flush_packets -max_delay 2 -flags -global_header "+VIDEO_URLqpchangdu+" 10 -hls_list_size 3 "+VIDEO_URLqpgeshu+" 30 -c copy "+VIDEO_URLlujing;
        File file = new File("D:\"+VIDEO_NO+".bat");
        try{Runtime.getRuntime().exec("cmd.exe   /C   start   D:\"+VIDEO_NO+".bat");}
        catch (IOException e) {
            e.printStackTrace();
            return b;
        };
        //文件不存在时候,主动创建文件。
        if(!file.exists()){
            file.createNewFile();
        }
        FileWriter fw = new FileWriter(file,false);
        BufferedWriter bw = new BufferedWriter(fw);
        bw.write(content);
        bw.close(); fw.close();
        System.out.println("test done!");

    } catch (Exception e) {
        // TODO: handle exception
        return c;
    }

    return a;
}

}
在这里插入图片描述pagedata代码
package com.example.demo;

import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

import javax.servlet.http.HttpServletRequest;

public class PageData extends HashMap implements Map{

private static final long serialVersionUID = 1L;

Map map = null;
HttpServletRequest request;
public PageData(HttpServletRequest request){
    this.request = request;
    Map properties = request.getParameterMap();
    Map returnMap = new HashMap();
    Iterator entries = properties.entrySet().iterator();
    Map.Entry entry;
    String name = "";
    String value = "";
    while (entries.hasNext()) {
        entry = (Map.Entry) entries.next();
        name = (String) entry.getKey();
        Object valueObj = entry.getValue();
        if(null == valueObj){
            value = "";
        }else if(valueObj instanceof String[]){
            String[] values = (String[])valueObj;
            for(int i=0;i<values.length;i++){
                value = values[i] + ",";
            }
            value = value.substring(0, value.length()-1);
        }else{
            value = valueObj.toString();
        }
        returnMap.put(name, value);
    }
    map = returnMap;
}

public HttpServletRequest getRequest() {
    return request;
}

public void setRequest(HttpServletRequest request) {
    this.request = request;
}

public PageData() {
    map = new HashMap();
}

@Override
public Object get(Object key) {
    Object obj = null;
    if(map.get(key) instanceof Object[]) {
        Object[] arr = (Object[])map.get(key);
        obj = request == null ? arr:(request.getParameter((String)key) == null ? arr:arr[0]);
    } else {
        obj = map.get(key);
    }
    return obj;
}

public String getString(Object key) {
    return (String)get(key);
}

@SuppressWarnings("unchecked")
@Override
public Object put(Object key, Object value) {
    return map.put(key, value);
}

@Override
public Object remove(Object key) {
    return map.remove(key);
}

public void clear() {
    map.clear();
}

public boolean containsKey(Object key) {
    // TODO Auto-generated method stub
    return map.containsKey(key);
}

public boolean containsValue(Object value) {
    // TODO Auto-generated method stub
    return map.containsValue(value);
}

public Set entrySet() {
    // TODO Auto-generated method stub
    return map.entrySet();
}

public boolean isEmpty() {
    // TODO Auto-generated method stub
    return map.isEmpty();
}

public Set keySet() {
    // TODO Auto-generated method stub
    return map.keySet();
}

@SuppressWarnings("unchecked")
public void putAll(Map t) {
    // TODO Auto-generated method stub
    map.putAll(t);
}

public int size() {
    // TODO Auto-generated method stub
    return map.size();
}

public Collection values() {
    // TODO Auto-generated method stub
    return map.values();
}

}

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_43345365/article/details/89493737
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-02-25 00:03:59
  • 阅读 ( 1426 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

推荐文章

猜你喜欢