Java - Duda con API - Java

 
Vista:

Duda con API - Java

Publicado por John (1 intervención) el 16/12/2020 06:44:23
Hola Chicos muy buenos dias.

Les cuento que estoy intentando seguir unos paso de un proyecto que me llego a mis manos, con la idea de aprender a implementar Java API y me ha costado bastante.

Les cuento.

Les tengo la siguiente clase :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
package cl.drhora.api.dashboard.repository.model;
import cl.drhora.api.dashboard.repository.annotations.InputOutputDefinition;
import cl.drhora.api.dashboard.repository.annotations.SPInput;
 
 
@InputOutputDefinition
public class Video {
 
    @SPInput
   private int idVideo;
 
 
     public int getIdVideo() {
        return idVideo;
    }
 
    public void setIdVideo(int idVideo) {
        this.idVideo = idVideo;
    }
 
    @SPInput
    private String nombreVideo;
    @SPInput
    private String urlVideo;
 
 
 
    public String getNombreVideo() {
        return nombreVideo;
    }
 
    public Video setNombreVideo(String nombreVideo) {
        this.nombreVideo = nombreVideo;
           return this;
    }
 
    public String getUrlVideo() {
        return urlVideo;
    }
 
    public Video setUrlVideo(String urlVideo) {
        this.urlVideo = urlVideo;
        return this;
    }
 
    public Video() {
    }
 
 
}

Este es la estructura de mi objeto.

Bueno ahora intento hacer un insert y Update llamando a los procedimientos almacenados con los ssiguientes pasos:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package cl.drhora.api.dashboard.repository.sp;
import cl.drhora.api.dashboard.repository.constants.SPContants;
import cl.drhora.api.dashboard.repository.core.AbstractStoredProcedure;
import cl.drhora.api.dashboard.repository.model.Video;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
 
@Repository
public class SP_tVideoAgregar extends AbstractStoredProcedure {
 
    public SP_tVideoAgregar(
            @Qualifier(SPContants.SQLSERVER_JDBC_TEMPLATE) JdbcTemplate jdbcTemplate,
            @Value("sp_tVideoAgregar") String spName) {
        super(jdbcTemplate, spName);
        declareInputOuputParameters(Video.class);
    }
 
 
}

Lugo paso por :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package cl.drhora.api.dashboard.service;
 
 
import cl.drhora.api.dashboard.model.EspecialistasTO;
import cl.drhora.api.dashboard.model.SesionesPacienteTO;
import cl.drhora.api.dashboard.repository.model.AgendarHora;
import cl.drhora.api.dashboard.repository.model.AnularHora;
import cl.drhora.api.dashboard.repository.model.SesionesPaciente;
import cl.drhora.api.dashboard.repository.model.Video;
 
import java.util.List;
 
 
 
public interface DrHoraService {
 
 
    String VideoAgregar(Video vdo);
 
    String VideoActualizar(Video vdo);
 
 
 
}

para finalmente :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
package cl.drhora.api.dashboard.service.impl;
 
import cl.drhora.api.dashboard.repository.core.SPResponse;
import cl.drhora.api.dashboard.repository.sp.*;
import cl.drhora.api.dashboard.service.DrHoraService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.List;
 
 
import cl.drhora.api.dashboard.repository.model.Video;
import static cl.drhora.api.dashboard.utils.APIUtils.castObject;
 
@Service
public class DrHoraServiceImpl implements DrHoraService {
 
 
    @Autowired
    SP_tVideoAgregar sptVideoAgregar;
 
    @Autowired
    SP_tVideoActualizar sp_tVideoActualizar;
 
  @Override
    public String VideoActualizar(Video vdo) {
 
 
        SPResponse spResponse = sp_tVideoActualizar.query(vdo);
 
 
        return "Video actualizado";
    }
 
 
 
        @Override
    public String VideoAgregar(Video vdo) {
 
 
        SPResponse spResponse = sptVideoAgregar.insert(vdo);
 
 
        return "Video guardado";
    }
     }

Ahora, desde PostMan consumo la api y al metodo

VideoActualizar

y funciona correctamente, pero al ejecutar el agregar me indica error 500, que al procedimiento se le esta pasando mas parámetros de lo normal. Cuando solo agrego 2 campos, dado que el idvideo es PK autoincremental.


error-1

El procedimiento almacenado cuenta sólo con 2 parametros.

Disculpen lo informal,

Pero mas tecnico trato de ser, pero es mi 3 dia intentando lograr esto..
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder