草庐IT

day01-2-@RequestMapping和Rest

全部标签

java - 版本控制 REST API 和供应商特定的内容类型

我阅读了很多关于版本控制RESTAPI的文章,例如在这个线程中:BestpracticesforAPIversioning?因此,我想使用HTTP-Accept-Header来指示客户端要求的版本。但是我怎样才能在我的应用程序中应用它呢?因此做出了哪些改变?编码器如何知道应该使用哪个版本?我必须注册我的类型吗?我所知道的是我必须更改@Produces-Annotation的内容@GET@Path("/locations")@Produces("application/vnd.mycompany-v1+xml")Location[]getLocations();但是还有什么需要改变的呢?

java - 如何在 Spring 中从 @RequestMapping 中排除 url 映射?

我有一个请求映射,可以处理上下文之后的任何字符串,例如www.example.com/anystring我是这样处理的:@RequestMapping(value="/{str}",method=RequestMethod.GET)publicStringgetApp(@PathVariable("str")StringanyString,ModelMapmodel){//Dosomething}问题是我的应用程序中有2-3个网址,网址如下:www.example.com/about、www.example.com/contact等我为他们写了如下请求映射:@RequestMappin

java - 获取 JSON 响应作为 Java 中 Rest 调用的一部分

我正在尝试用Java调用Rest服务。我是网络和休息服务的新手。我有Rest服务,它返回JSON作为响应。我有以下代码,但我认为它不完整,因为我不知道如何使用JSON处理输出。publicstaticvoidmain(String[]args){try{URLurl=newURL("http://example.com:7000/test/db-api/processor");HttpURLConnectionconnection=(HttpURLConnection)url.openConnection();connection.setDoOutput(true);connectio

java - REST-API 错误响应的不同内容类型

几周以来,我一直在使用spring-mvc开发restapi。REST-API工作正常,我几乎完成了最后一个关于特定错误对象错误处理的问题。REST-API使用JSON作为格式来序列化Java对象。当服务执行期间发生错误时,将创建一个特定的错误对象并将其发送回客户端。当我的休息服务被标记为“produces=application/json”时,一切正常。但也有一些服务只需要使用“produces=text/plain”返回简单的文本。当这些服务之一发生错误时,Spring-MVC将抛出HttpMediaTypeNotAcceptableException。似乎是正确的,因为客户端要求

java - 使用 REST-assured 验证响应 header 中的整数值

可能是由于我对rest-assured和hamcrest匹配器缺乏经验,我还没有弄清楚如何正确地执行此断言when().get(url).then().header("my-header",lessThanOrEqualTo("60"));//shouldcompareIntegersnotStrings一个明显的解决方案是从header中提取值,将其转换为Integer,然后手动执行断言。但是,这会有点破坏放心工作的美好。有没有一种方法可以在不使测试膨胀的情况下进行正确的比较? 最佳答案 从RESTAssured2.6.0开始,您

java - 测试 Camel REST DSL 消费者模板

我有以下代码:importorg.apache.camel.builder.RouteBuilder;importorg.apache.camel.model.rest.RestBindingMode;publicclassOrderNumberRouteBuilderextendsRouteBuilder{@Overridepublicvoidconfigure()throwsException{restConfiguration().component("servlet").bindingMode(RestBindingMode.json).dataFormatProperty("

java - 使用映射为使用 RestTemplate 的 rest 调用设置参数

我目前正在使用一段代码来设置参数,我使用restTemplate对URL进行REST调用,它工作正常:MultiValueMapmap=newLinkedMultiValueMap();map.add("grant_type",grantType);map.add("client_id",clientId);map.add("client_secret",clientSecret);HttpEntityentity=newHttpEntity(map);restTemplate.exchange("myurl",HttpMethod.POST,entity,Void.class);但是

java - Spring Rest Web 服务将文件作为资源返回

我正在尝试从部署在服务器上的RestWeb服务返回一个文件流,并从客户端上的RestWeb服务处理这个流。在服务器上我使用这段代码:@Override@RequestMapping(value="/file",method=RequestMethod.GET,produces=MediaType.APPLICATION_OCTET_STREAM_VALUE)public@ResponseBodyResourcegetAcquisition(@RequestParam(value="filePath",required=true)StringfilePath)throwsFileNotF

Java8 java.time : how to change the day of the week and the start time of the day?

假设我希望我的一周从星期二开始,这一天应该从早上5:30开始。这意味着,像这样的代码应该可以工作://LocalDateTimescreatedwiththe"standard"ISOtimeLocalDateTimetuesday_4_30=LocalDateTime.now().with(TemporalAdjusters.next(DayOfWeek.TUESDAY)).withHour(4).withMinute(30);LocalDateTimetuesday_6_30=tuesday_4_30.withHour(6).withMinute(30);LocalDateTime

java - 是否可以在 spring Boot 中解析依赖 JAR 文件的 REST 端点

我有2个Springbootjar,它们可以作为2个独立的应用程序正常工作,但是,我被要求将2个jar合并到一个应用程序中我认为最简单的事情是将app-2作为maven依赖项添加到app-1中,但问题是当app-1启动时它只识别app-1REST端点但忽略app-的REST端点共2个。我希望当app-1启动时它会自动选择app-2中声明的端点@RestControllerClass2{@GetMapping(/hello-from-app2)publicStringmyapp2(){return"HELLOFROMAPP2"}此代码被忽略,在服务器启动时我只能看到app-1公开的端点可