Могу ли я получить некоторые специфические данные третьего api в качестве дополнительного свойства для моего представления django api?

У меня есть представление api, которое получает данные из своей модели. Я хочу, чтобы это представление api имело дополнительное значение от стороннего api. Вот views.py, который получает все свойства своей модели.

  @api_view(
    ["GET"],
)
def bussiness_asset_risk_details(request):
    res = models.BusinessImpact.objects.all().values(
        "hierarchy",
        "business_assets",
        "asset_name",
        "vendors",
        "product",
        "version",
        "cpe",
        "asset_type",
        "asset_categorization",
        "_regulations",
        "asset_risk",
    )
    return Response({"business_impact_details": res})

Вот стороннее представление api, получающее определенные собственные значения.

@api_view(
    ["GET"],
)
def cve_summery(request, key):
    r = requests.get(
        "https://services.nvd.nist.gov/rest/json/cves/1.0?cpeMatchString={}".format(
            key)
    )
    if r.status_code == 200:
        result = []
        res = r.json().get("result").get("CVE_Items")
        for rs in res:
            data = {
                "VulnID": rs.get("cve").get("CVE_data_meta").get("ID"),
                "Summery": rs.get("cve").get("description").get("description_data"),
                "exploitabilityScore": rs.get("impact")
                .get("baseMetricV2")
                .get("exploitabilityScore"),
                "severity": rs.get("impact").get("baseMetricV2").get("severity"),
                "impactScore": rs.get("impact").get("baseMetricV2").get("impactScore"),
            }
            result.append(data)
        return Response(result)
    return Response("error happend", r.status_code)

Логика здесь такова: я хочу, чтобы bussiness_asset_risk_details представление возвращало "severity": rs.get("impact").get("baseMetricV2").get("severity"), из cve_summery представления.

NB: THE KEY parameter in cve_summery view IS cpe of bussiness_asset_risk_details

Спасибо.

Вернуться на верх