Estoy tratando de consumir una API tranquila con reaccionar

Gabriel Guedes

Tengo una API restful en Java y funciona perfectamente cuando uso insomnio o cartero, pero estoy tratando de hacer que mi interfaz de usuario reaccione, pero el estado que obtengo es "fallido" y me muestra "bloqueado por CORS". . Puedo resolver este "bloqueo" cambiando mi interfaz de http a https, pero el estado "fallido" aún persiste y cuando uso https en insomnio, no funciona. ¿Puede alguien ayudarme?

código de front-end

import axios from 'axios';

const api = axios.create({
    baseURL: 'http://localhost:8080/PfcPubApi'
});

export default api;
import React, {useState} from 'react';
import api from './service/api';


function App() {
const [nome, setNome] = useState('');
const [cpf, setCpf] = useState('');
const [endereco, setEndereco] = useState('');
const [cargo, setCargo] = useState('');
const [senha, setSenha] = useState('');


  async function cadastrarFunc(e){
      e.preventDefault();
      const response = await api.post('/api/item', {
          nome,
          cpf,
          endereco,
          cargo,
          senha,
      })
      console.log(response.data);
  }

  return (
    <form onSubmit={cadastrarFunc}>
            nome:<input type="text" name="nome" value={nome} onChange={e => setNome(e.target.value)}></input>
            cpf:<input type="text" name="cpf" value={cpf} onChange={e => setCpf(e.target.value)}></input>
            endereco:<input type="text" name="endereco" value={endereco} onChange={e => setEndereco(e.target.value)}></input>
            cargo:<input type="text" name="cargo" value={cargo} onChange={e => setCargo(e.target.value)}></input>
            senha:<input type="text" name="senha" value={senha} onChange={e => setSenha(e.target.value)}></input>
            <button type="submit">Salvar</button>
   </form>
  );
}

export default App;

tal vez esta imagen también pueda ayudar ... ingrese la descripción de la imagen aquí

editar: código api

package controle;

import java.util.Set;

@javax.ws.rs.ApplicationPath("api")
public class ApplicationConfig extends javax.ws.rs.core.Application {

    @Override
    public Set<Class<?>> getClasses() {
        Set<Class<?>> resources = new java.util.HashSet<>();
        addRestResourceClasses(resources);
        return resources;
    }
    private void addRestResourceClasses(Set<Class<?>> resources) {
        resources.add(controle.FuncionarioService.class);
    }

}
package controle;

import com.google.gson.Gson;
import dao.FuncionarioDao;
import java.sql.SQLException;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.UriInfo;
import javax.ws.rs.PathParam;
import javax.ws.rs.POST;
import javax.ws.rs.Produces;
import javax.ws.rs.Consumes;
import javax.ws.rs.DELETE;
import javax.ws.rs.GET;
import javax.ws.rs.PUT;
import javax.ws.rs.Path;
import javax.ws.rs.core.MediaType;
import modelo.Funcionario;

@Path("/item")
public class FuncionarioService {

    @Context
    private UriInfo context;


    public FuncionarioService() {
    }

    @GET
    @Path("")
    @Produces(MediaType.APPLICATION_JSON)
    public String listAllPerson() throws SQLException {
        FuncionarioDao funcionario = new FuncionarioDao();
        return new Gson().toJson(funcionario.consultarTodosFunc());               
    }

    @GET
    @Path("/{cpf}")
    @Produces(MediaType.APPLICATION_JSON)
    public String consultarFunc(@PathParam("cpf") String cpf) throws SQLException {
        Funcionario funcionario = new Funcionario();
        funcionario.setCpf(cpf);

        FuncionarioDao Request = new FuncionarioDao();
        return new Gson().toJson(Request.consultarFunc(funcionario));               
    }

    @POST
    @Path("")
    @Consumes(MediaType.APPLICATION_JSON)
    public String cadastrarFunc(String dataPerson) throws SQLException {

        Funcionario funcionario = new Gson().fromJson(dataPerson, Funcionario.class);

        FuncionarioDao Request = new FuncionarioDao();
        funcionario = Request.cadastrarFunc(funcionario);

        return new Gson().toJson(funcionario);
    }

    @PUT
    @Path("")
    @Consumes(MediaType.APPLICATION_JSON)
    public String alterarFunc(String dataPerson) throws ClassNotFoundException, SQLException {
        Funcionario person = new Gson().fromJson(dataPerson, Funcionario.class);

        FuncionarioDao Request = new FuncionarioDao();

        return new Gson().toJson(Request.alterarFunc(person));
    }

    @DELETE
    @Path("/{cpf}")
    @Consumes(MediaType.APPLICATION_JSON)
    public String excluirFunc(@PathParam("cpf") String cpf) throws SQLException{
        Funcionario funcionario = new Funcionario();
        funcionario.setCpf(cpf);


        FuncionarioDao Request = new FuncionarioDao();
        return new Gson().toJson(Request.excluirFunc(funcionario));
    }
}
ravi tella

Tendrá que habilitar el uso compartido de recursos de origen cruzado (CORS) para su API. Dado que está utilizando JAX-RS, puede crear un filtro y establecer el encabezado "Access-Control-Allow *" en la respuesta o hacer lo mismo en el método de punto final de la URL.

El siguiente artículo explica que se detallará con ejemplos de código.

https://www.baeldung.com/cors-in-jax-rs

¡Espero que esto ayude!

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Estoy tratando de entender reaccionar useEffect hook

Estoy tratando de agregar una imagen con PHP

reescritura de htaccess para una api tranquila

Reaccionar tratando de hacer una barra lateral con redux

Estoy tratando de hacer una etiqueta de selección dinámicamente en reaccionar

Estoy tratando de consumir datos de la API del administrador de oficina de Avaya. CertificateValidationCallback causando error

estoy tratando de compartir localhost con ngrok

Estoy tratando de establecer datos en estado cada vez en el primer índice para reaccionar en una matriz de objetos

estoy tratando de crear una tabla anidada

¿Reaccionar + Redux con una API de descanso?

No se puede consumir una API de descanso con resttemplate

Tratando de crear una subclase de PFUser con Swift - ¿Qué me estoy perdiendo?

Estoy tratando de escribir un programa que se detenga con una entrada de cadena específica

Tratando de crear una subclase de PFUser con Swift - ¿Qué me estoy perdiendo?

Estoy tratando de categorizar las observaciones con una variedad de nombres agrupándolos por nuevas variables

Estoy tratando de escribir un programa que se detenga con una entrada de cadena específica

Reaccionar: tengo un bloque try / catch en un servicio al que estoy tratando de agregar una llamada de Axios pero no estoy seguro de dónde ponerlo

Estoy tratando de crear una tabla (Orden) usando un esquema con FK mutable

Estoy tratando de clasificar flores con una red preentrenada, pero por alguna razón no entrena

Estoy tratando de crear una tabla con solo dos claves externas

Estoy tratando de trazar tres líneas con matplotlib pero aparece como una

Estoy tratando de obtener datos a través de una API OpenWeather en Rust, pero me enfrento a algunos problemas con respecto al análisis, supongo

Uso de ruta tranquila con "/"

Estoy tratando de usar OpenGL con la API de Windows en diferentes subprocesos

Estoy tratando de extraer datos de una API y representarlos en mi HTML usando Javascript. Creo que estoy cerca

Consumir una API JSON con PHP

¿Cómo filtrar los datos de una API de forma ética? Estoy usando reaccionar JS

Estoy tratando de hacer una calculadora, una simple.

Estoy tratando de pasar una cadena a una función con un puntero doble pero obtengo un error

TOP Lista

  1. 1

    ¿Cómo ocultar la aplicación web de los robots de búsqueda? (ASP.NET)

  2. 2

    Pandas의 CSV 파일을 Pandas 데이터 프레임으로 가져 오기

  3. 3

    uitableview delete button image in iOS

  4. 4

    Manera correcta de agregar referencias al proyecto C # de modo que sean compatibles con el control de versiones

  5. 5

    Swift / Firebase : Facebook 사용자가 계정을 만들 때 Firebase 데이터베이스에 제대로 저장하려면 어떻게해야합니까?

  6. 6

    caída condicional de filas desde un marco de datos de pandas

  7. 7

    Link library in Visual Studio, why two different ways?

  8. 8

    Pagination class not getting applied in html

  9. 9

    Que signifie Decimal (-1)?

  10. 10

    UIButton textLabel with different fonts

  11. 11

    WPF pleine largeur DataGridColumn sur la largeur de DataGrid

  12. 12

    Opción de máquina virtual no reconocida 'MaxPermSize = 512m' cuando se ejecuta Zeppelin

  13. 13

    matplotlib로 그래프를 그리는 동안 커서 위치에서 날짜 / 시간을 볼 수 없습니다. "DateFormatter에서 x = 0 값을 찾았습니다"라는 오류가 발생합니다.

  14. 14

    ¿Es posible en Windows evitar que otras aplicaciones se enganchen en las DLL del sistema?

  15. 15

    Error de la base de datos de Android Firebase: Permiso denegado al depurar en un teléfono

  16. 16

    Pandas: suma filas de DataFrame para columnas dadas

  17. 17

    ggplot2: gráfico con líneas y puntos para problemas de leyenda de dos conjuntos de datos

  18. 18

    ¿Cómo especificar el puerto en el que se aloja una aplicación ASP.NET Core?

  19. 19

    Recherche de la position d'index d'une valeur dans r dataframe

  20. 20

    GPU를 사용하여 ffmpeg 필터의 처리 속도를 가속화하는 방법은 무엇입니까?

  21. 21

    nested observables executed one after the other after termination

CalienteEtiquetas

Archivo