当前位置: 首页 > 知识库问答 >
问题:

Gradle中使用rest api的Spring boot

端木鹏
2023-03-14

我对Java完全陌生,试图在Gradle中使用带有Spring Boot的rest API,到目前为止,我已经成功地发出了一个非常基本的get请求,以显示如下消息

@RestController
public class HelloController {
    @RequestMapping(value = "/hello", method = RequestMethod.GET)
    public String printWelcome(ModelMap model) {
        model.addAttribute("message", "Hello");
        return "hello";
    }
}

现在,如何扩展此get请求以使HTTP请求使用基于RestTemplate的endpoint,假设这是我要使用的endpoint,如下所示:

RestTemplate restTemplate = new RestTemplate(); ResponseEntity response = restTemplate.getForEntity("http://aws.services.domain.com/country/id", String.class);

最后,我想通过在授权标头中添加令牌承载来实现授权HTTP GET请求。

提前感谢您的回答和建议

共有1个答案

应翰飞
2023-03-14

如果要添加标题,必须使用exchange或execute方法。

所以,在你的情况下:

HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "Your Bearer Token");
HttpEntity entity = new HttpEntity(headers);
ResponseEntity<String> response = restTemplate.exchange(
    url, HttpMethod.GET, entity, String.class, param);
 类似资料:
  • 我试图用RESTAPI实现Spring Security性,并作为前端进行响应,因为这是我的第一个完整堆栈开发项目,我对如何实现正确的身份验证机制一无所知。 我已经搜索了很多,找到了关于Spring Security with Basic Auth的文章,但我无法弄清楚如何将该身份验证转换为其他api,然后通过会话/cookie进行管理。即使我得到的任何github引用都很旧,或者它们还没有完全迁

  • 我使用已签名的URL从使用Air的移动设备上传blob。 我有两个问题: 使用签名 URL 上传 Blob 时,我假设我不需要按照文档中所述包含所有标头。我是否认为我只需要对URL执行请求,并将编码到正文中的文件包含在正文中,设置为? http://msdn . Microsoft . com/en-us/library/windows azure/DD 179451 . aspx (Upload

  • 我正在进行一个SpringBoot项目,该项目使用常规MVC机制来公开REST API。 在一个特定的GET API中,我得到了406HTTP响应。 下面是我的控制器方法的样子: AnalysisDetailResponse是使用Lombok创建的(在其他API的情况下,Lombok可以完美地工作) 我已经验证了整个响应对象的内容,它似乎是完美的。然而,响应总是406。 我需要JSON格式的响应,

  • 我有一个管理Web应用程序位于远程服务器上。这个应用程序是使用MEAN堆栈编写的,我有一个连接到网络应用程序所需的所有RESTful路由的列表。 我正在编写一个Java客户端应用程序,它需要从这个管理应用程序发送和接收数据。如果我有服务器的IP地址和REST路由,如何将客户端连接到web应用程序? 我想我需要提供一个到服务器和RESTAPI文件的URL连接,然后只需调用路由函数,如和。

  • 我能够使用CURL命令在JIRA中创建一个票证,并且手头有一个json数据。 curl-D--u:-X POST--data@ 我现在正试图更新生成的票证的状态,但出现以下错误<代码>{“errorMessages”:[],“errors”:{“status”:“无法设置字段‘status’。它不在适当的屏幕上,或未知。”} 卷曲命令: 旋度-D--u

  • 有没有任何一个测试REST API的使用硒网络驱动程序Maven TestNG。请分享信息或样本项目