我在我的 URL 中查看了一些重新分級后的查詢引數,但我找不到我要找的東西。
到目前為止,我從中獲取資料的外部 API 需要一個特定的 API,在這種情況下,我將在瀏覽器中發出 HTTP 請求時呼叫“tag”引數。
這是我的 Post 模型,其標簽定義為欄位
package com.example.blog.post;
import javax.persistence.*;
@Entity
@Table(name = "post")
public class Post{
@Id
@GeneratedValue
private Long id;
private String tag;
public Post() {
}
public void setId(Long id) {
this.id = id;
}
public Long getId() {
return id;
}
public String getTag() {
return tag;
}
}
這是我的控制器類,“getPosts()”方法是我獲取外部資料的地方,但它需要一個標簽引數(查詢引數)才能完成回應。在這種情況下如何合并“標簽”查詢引數?
package com.example.blog.post;
import org.springframework.web.bind.annotation.*;
import java.util.*;
import org.springframework.http.*;
import org.springframework.web.client.RestTemplate;
import com.example.blog.HttpRequest;
@RestController
@RequestMapping
public class PostController {
private PostRepository postRepository;
private RestTemplate restTemplate;
// @GetMapping("/api/ping")
// public ResponseEntity<?> ping(){
// String res = request.body();
// return new ResponseEntity<>(res,HttpStatus.OK);
// }
@GetMapping("/api/posts")
public ResponseEntity<?> getPosts(@RequestParam(value="tag") String tag){
try{
HttpRequest request = HttpRequest.get("https://api.blogs.io/blog/posts").connectTimeout(12000);
String res = request.body();
return new ResponseEntity<>(res,HttpStatus.OK);
}catch (Exception e){
e.printStackTrace();
return new ResponseEntity<>("Error!,please try again",HttpStatus.INTERNAL_SERVER_ERROR);
}
}
}
uj5u.com熱心網友回復:
只需將您的方法更改為
@GetMapping("/api/posts")
public ResponseEntity<?> getPosts(@RequestParam("tag") String tag){...}
然后您還需要在 url 中發送該查詢引數,例如
http://localhost:8080/api/posts?tag=java
uj5u.com熱心網友回復:
tag請求引數應發送到 url 。并且您的getPosts()方法標記引數應該是正確的,如下所示。
getPosts(@RequestParam String tag)
值欄位用于@RequestAttribute
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/425489.html
