springboot简单项目:通过URL获取数据(第三方网页)中的数据显示在页面上面

大家好,我是菜鸟阿贵,今天和大家讲述一个简单的小项目。
项目描述:通过固定url进行访问第三方网页,获取数据以后展示在前端(页面)。
1:具体实现,springboot项目,用到http协议,以及相关获取方式。
2:首先我们定义一个client类:

@Service
public class HttpClient {
	public  String client(String url, HttpMethod method, MultiValueMap<String,String> params){
		RestTemplate template = new RestTemplate();
		ResponseEntity<String> response1 = template.getForEntity(url,String.class);
		return  response1.getBody();
	}

	}

3:如代码块我们可以直观地看到:类中方法是一个带参的方法,包括请求的url,请求的方式,以及拉取到的数据存放在一个集合,并且以param定义。
4:ResponseEntity response1 代表响应的实体类,

***RestTemplate***是Spring提供的一个服务之间请求的工具,并且可以自动实现json的序列化和反序列化。
然后在返回请求体的get方法。

5:随后我们再定义一个控制层:定义为:HelloController.java
代码块为:`@RestController
@RequestMapping(value = “hello”)
public class HelloController {

private String u = "http://127.0.0.1";

@Autowired
HttpClient httpClient;
@RequestMapping(value = "hellos")
public String hello(){
String url = u+"/api/table.xml?content=sensors" +
		"&username=prtgadmin&password=prtgadmin&" +
			"group,device,sensor,status," +
			"message,lastvalue,priority,favorite";
	HttpMethod httpMethod = HttpMethod.GET;
	MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
	return httpClient.client(url,httpMethod,params);

}

}`

由此可见:@RestController 标注为controller类

Mapping映射为 “hello”

在类中定义一个私有的字符串:就是你要输入的url的固定请求头,之所以将他单独放在上面是因为后面可以根据需求改动,把它们分开以便于修改添加,我的url前面固定的是“
“http://127.0.0.1””,所以我将他单独拿出来定义在最前面!
2:然后将刚才写的类用@Autowired自动注入进来,
再定义一串要请求的url,将刚才定义的u和他进行拼接即可!

3:再利用HttpClient 中的 GET方法(请求方式分为GET和POST,区别自行百度)。

4:利用get进行网页请求!

:5: MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
将获取到的网页数据用LinkedMultiValueMap接收存放,
返回httpClient中的请求体的内容,包括(url,请求方式,请求内容存放的集合),

6:运行起项目,页面会显示拉去的数据!!!!

--------金鳞岂是池中物,一遇风云变化龙----------

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章