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

为什么Angular HttpClient响应为空?

杜翰林
2023-03-14

我的环境:

  • Shop RestController:Spring Boot
    • 在localhost laptopn ubuntu 18:04
    • 在localhost desktop pc windows 10上
    const BASE_URL = 'http://pc01:8081/shopsystem/shops';
    const  SHOP_NAME = 'Muster Shop';
    
    @Injectable({
      providedIn: 'root'
    })
    export class ShopService {
    
      shop$: Shop;
      address$: Address;
      owner$: Owner;
    
      //header = new HttpHeaders({ 'Content-Type': 'application/json' });
    
      constructor(private http: HttpClient) { }
    
      public getShop(): Observable<Shop>{
        return this.http.get<Shop>(BASE_URL + '/' + SHOP_NAME);
      }
    

    邮递员要求:

    Spring引导控制器:

    我已经尝试使用Observable和any以及HttpHeaders和Application/JSON,但响应相同。

共有1个答案

柯清野
2023-03-14

您的Angular HttpClient对path变量中的空格进行编码,因此它以muster%20shop的形式到达RestController。

然后尝试查找一个不存在的具有该确切名称的记录。

在将@pathvariable作为集合商店发送到查询之前,必须对其进行解码。

 类似资料:
  • 问题内容: 我无法使用RestTemplate(org.springframework.web.client.RestTemplate)应对额外的弹簧行为,但没有成功。 我在代码下面的Hole应用程序中使用,并且始终会收到XML响应,该响应会解析并评估其结果。 但是无法确定为什么执行后服务器响应为JSON格式: 我已经在较低级别的RestTemplate上进行了调试,内容类型为XML,但是不知道为

  • 我已经为我的自定义日志拦截器执行了以下操作 我正在将拦截器设置为restTemboard 记录器正在将响应正确地打印到控制台,但最后响应会以空的形式返回给调用者。我无法调试和解决它。 我已经弄明白了StreamUtils。copyToString(response.getBody(),字符集。defaultCharset())正在读取一次输入流,并且不再在其中保存响应正文(现在为空) 还有谁也面临

  • 问题内容: 为什么Google会优先使用其(私有)JSON响应? 例如,这是在Google日历中打开和关闭日历时的响应: 我认为这是为了防止人们对此进行操作,但是您真正要做的就是替换,然后进行设置。我认为评估是为了确保人们编写安全的JSON解析代码。 我也曾在其他几个地方使用过此功能,但在Google(邮件,日历,通讯录等)中使用了更多功能。奇怪的是,GoogleDocs以开头,而Google C

  • 我正在学习fetch(),发现响应的主体使用了一种叫做readableStream的东西。根据我的研究,readable stream允许我们在从服务器下载数据后开始使用它(我希望我是正确的:)。就fetch()而言,可读流如何与fetch()配合使用,也就是说,我们无论如何都需要下载所有数据,然后开始使用它。总的来说,我无法理解fetch()中可读流的意义,因此我需要您的帮助:)。

  • 我是Java和创建API的新手。我试图简单地发出一个后请求,并得到一个具体的值。以下是我的代码: ProjectResponse类简单地包含: 问题是,id aøwaus 被返回为 (id=空)。即使当我使用“字符串”而不是项目响应时,一切正常,我看到ID已创建。因此,由于某种原因,将响应映射到项目响应类存在问题。 有人知道可能出了什么问题吗?