服务A发帖:
ResponseEntity<InvoiceResponse> response =
restTemplate.postForEntity(invoiceUrl, request, InvoiceResponse.class);
服务B有一个终结点:
@RequestMapping(value = "/office/{officeId}/invoice", method = RequestMethod.POST)
@ResponseBody
public ResponseEntity createInvoice(@RequestBody InvoiceRequest invoiceRequest, @PathVariable("officeId") long officeId) {
...}
但是我得到了一个JWT过滤器,它拦截了请求,并成功地处理了它(我已经通过断点确认了):
public class JwtAuthenticationTokenFilter extends GenericFilterBean {
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,
ServletException {
HttpServletRequest httpRequest = (HttpServletRequest) request;
String authToken = httpRequest.getHeader(this.tokenHeader);
String username = jwtTokenUtil.getUsernameFromToken(authToken);
if (username != null && SecurityContextHolder.getContext().getAuthentication() == null) {
UserDetails userDetails = this.userDetailsService.loadUserByUsername(username);
if (jwtTokenUtil.validateToken(authToken, userDetails)) {
UsernamePasswordAuthenticationToken
authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
authentication.setDetails(new WebAuthenticationDetailsSource().buildDetails(httpRequest));
SecurityContextHolder.getContext().setAuthentication(authentication);
}
}
chain.doFilter(request, response);
}
如果重要的话,我将在OS X上使用Spring-Boot1.3.5和Java8
更新:
我在服务A中添加了以下per Patrick Bay的建议:
@Bean
public CommonsRequestLoggingFilter requestLoggingFilter() {
CommonsRequestLoggingFilter loggingFilter = new CommonsRequestLoggingFilter();
loggingFilter.setIncludeClientInfo(true);
loggingFilter.setIncludeQueryString(true);
loggingFilter.setIncludePayload(true);
return loggingFilter;
}
要记录传入的请求,可以使用CommonsRequestLoggingFilter,请参阅此处获得更多详细信息https://ivanursul.com/how-to-log-requests-and-ther-payload-in-spring/。
将此添加到Spring配置中:
@Bean
public CommonsRequestLoggingFilter requestLoggingFilter() {
CommonsRequestLoggingFilter loggingFilter = new CommonsRequestLoggingFilter();
loggingFilter.setIncludeClientInfo(true);
loggingFilter.setIncludeQueryString(true);
loggingFilter.setIncludePayload(true);
return loggingFilter;
}
并将其添加到应用程序属性文件:
logging.level.org.springframework.web.filter.CommonsRequestLoggingFilter=DEBUG
本文向大家介绍使用Curl命令查看请求响应时间方法,包括了使用Curl命令查看请求响应时间方法的使用技巧和注意事项,需要的朋友参考一下 curl命令查看请求响应时间 -o:把curl 返回的html、js 写到垃圾回收站[ /dev/null] -s:去掉所有状态 -w:按照后面的格式写出rt time_namelookup:DNS 解析域名www.36nu.com的时间 time_commect
我正在开发一个与我编写的RESTful网络服务通信的Android应用程序。在GET方法中使用Volley非常简单,但是我不能把我的手指放在POST方法上。 如何从我的post请求响应中获取字段这是我的响应 我想只有"访问令牌"内容 这是我的密码 请帮帮我?!
我是iOS和Swift的新手,我正在尝试使用AlamoFire3.4.0来做一个web请求。当我的请求成功时,一切都很好。但是,如果我的请求失败,服务器将返回300或更大的状态代码,以及响应体中的一些JSON,其中包含关于请求失败原因的更多信息。例如,我正在与之交谈的API要求对每个请求进行身份验证。如果身份验证由于某种原因失败,我将返回401,响应体中的JSON将为: 我发出此请求的代码如下所示
我可以使用InteliJ Ultimate的探查器查看执行一个方法需要多长时间吗?
网页基础知识 本篇介绍我们平时浏览网页时,浏览器是如何与服务器通讯交流的。目的是为了普及“请求”这一概念,以便更好的介绍Web Analytics 网站分析产品的收数原理。 网页内容是如何呈现在浏览器里的? 我们经常要和网页打交道 -- 当访问一个页面地址时(URL), 浏览器就会为我们呈现一个网页。或许我们对此习以为然。实际上,1个网页所包含的图片,文字,视频,JS代码等各种资源,都是通过您的浏
问题内容: 我想向mysql发送查询并获取一个数组。但是,无论我怎样做,我都无法使它起作用。这是我的代码: 它总是说,。我究竟做错了什么? 问题答案: Flask抛出此异常,因为您的视图未返回任何内容。从您的观点返回响应: 要返回MySQL结果,也许将这些行连接到一个字符串中: 或定义一个模板并返回渲染的模板。 请注意,您确实不希望对参数使用字符串插值, 尤其是 在Web应用程序中。改用SQL参数