是否需要验证API调用响应?

时间:2019-04-04 17:28:43

标签: rest spring-boot validation templates microservices

通过微服务架构,有很多服务之间发生服务通信。来自服务间调用的响应需要进行验证,以确认响应对象是否符合通过开放API规范(Swagger)建立的合同。到REST API的请求对象已由控制器验证,但响应对象在发送之前未得到验证。应该验证吗? 客户需要验证何时收到以及开始处理之前。这样做的目的是避免对所需的服装进行空检查。

示例:

#include <stdio.h>
#include <stdlib.h>

typedef struct
{
    char szin[100];
    char ertek;
} Adat;

int main()
{
    Adat pakli[52];
    int a=0;
    char szimb[13]= {'A','2','3','4','5','6','7','8','9','1','J','Q','K'};
    char szinek[4][100]={"pikk","kor","treff","karo"};
    printf("%s\n",szinek[0]);
    for(int b=0; b<4; b++)
    {
        for(int c=0; c<13; c++)
        {
            Adat d={szinek[b],szimb[c]};
            pakli[a]=d;
            a++;
        }
    }
    printf("%s %c",pakli[0].szin,pakli[0].ertek);
    return 0;
}

在上述示例中,如果将没有电子邮件和电话的用户对象发送到POST,则创建用户调用将失败。 但是/ user / {username}可以返回带有空电子邮件和电话的用户,因为没有验证响应。

最好先验证响应,然后再从服务器发送响应,或者将责任留给客户端进行验证。

0 个答案:

没有答案