Как отправить POST / GET запросы с веб-сайта Django на Spring Rest api? - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть форма для отправки. html file:

{% extends 'base.html' %}


    {% block content %}
    <div class="container">
    <h1>Here you submit a new job</h1>

        <form class = "form" method="post">
            <label for="Company">Company Name:</label>
            <input type="text" value="{{ user.username }}" name="Company" id="Company">
            <br>
            <label for="position">Position:</label>
            <input type="text" name="position" placeholder="e.g Web Developer">
            <br>
            <button type="submit">Submit</button>
        </form>
    </div>



    {% endblock %}

У меня также есть другой проект, построенный на Java Spring, и он предоставляет следующие API: http://myhost : port / projectname / api / addposition? compName = Google & category = Developer

, где он фактически принимает имя пользователя в качестве compName и ввод позиции в качестве параметров категории.

Я искал для пути, но я в основном нашел примеры для внутренних запросов, а не для других API.

Я пытаюсь найти способ отправить запрос к этому API, используя метод post. Этот API может использовать любой параметр через URL или данные, отправленные на него (например, json) Извините, если вопрос не ясен, это мой первый вопрос по стеку:)

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 14 февраля 2020

Вы должны отправить форму для просмотра и отправить в API.

Например:

submit. html

{% extends 'base.html' %}


    {% block content %}
    <div class="container">
    <h1>Here you submit a new job</h1>

        <form class = "form" method="post" **action="api"**>
            <label for="Company">Company Name:</label>
            <input type="text" value="{{ user.username }}" name="Company" id="Company">
            <br>
            <label for="position">Position:</label>
            <input type="text" name="position" placeholder="e.g Web Developer">
            <br>
            <button type="submit">Submit</button>
        </form>
    </div>



    {% endblock %}

views.py

import os
import requests
from requests.auth import HTTPBasicAuth

def api(request):
    Company = request.POST.get('Company')
    Position = request.POST.get('position')

    url = os.environ.get("URL", 'http://myhost:port/projectname/api/addposition?compName=Google&category=Developer')
    url = "%s" % (url)
    body = {"Company" : "%s" % Company, "Position" : "%s" % Position}
        response = requests.post(url, auth=HTTPBasicAuth('USER', 'PASSWORD'), headers={'Content-Type': 'application/json'}, json=body)
    if response.status_code == 200:
        print("Code 200")
    else:
        print("Code not 200")

urls.py

from YOURAPP.views import api

urlpatterns = [
    path('api/',
         views.api, name='api'),
]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...