2017-06-07 6 views
1

私は非常に奇妙な問題があります。角度(イオンV1で構築されたアプリ)で、私はJavaで構築されたいくつかのREST呼び出しを呼び出しますが、何かがうまくいかないとクロムがこのエラーで私に助言: ERR_INCOMPLETE_CHUNKED_ENCODINGangularjs-restサービスのERR_INCOMPLETE_CHUNKED_ENCODINGは、Advanced REST Clientを使用して無限のjsonファイルを返しますが、郵便配達員のエラー

コード興味深いが、この、角度JSでのRESTサービスです:

bankaccountsbyuser: function(_getbauser, _error){ 
 
      var currentToken = _GetToken(); 
 
    
 
      if(currentToken!=null){ 
 
       var Headers = { 
 
        token: currentToken.tokenUser, 
 
       }; 
 
      } 
 
      
 
      _timerTokenControl(currentToken, _error); 
 
      
 
      if (setupTime == null) { 
 
       console.log("token scaduto"); 
 
       //modificare 
 
       //$window.location.href="login.html"; 
 
      } 
 
      
 

 
      if (currentToken !== null) { 
 
      $http({ 
 
         method : 'GET', 
 
         headers: Headers, 
 
         url : REST_URL+'bankaccount' 
 
        }).then(function successCallback(response) { 
 
         console.log(response) 
 
         _getbauser(response) 
 
        }, function errorCallback(response) { 
 
         console.log(response.statusText); 
 
        }); 
 
       } else { 
 
        var alertPopup = $ionicPopup.alert({ 
 
         title: 'Accesso negato!', 
 
         template: 'Devi essere un utente registrato, non sei loggato!' 
 
        }); 
 
        console.log("NON SEI LOGGATO!!!"); 
 
      } 
 
     },

デバッグ: debug

は、あなたが見ることができますどのように、取得REST S erviceがエラーを返し、このように、のはJavaで構築されたこのRESTサービスを見てみましょう:私はちょうど簡単にするために、この方法では番号「1」を渡すようにしようと試み

package it.jack.fdd.services; 
 

 
import java.util.List; 
 

 
import javax.ws.rs.DELETE; 
 
import javax.ws.rs.GET; 
 
import javax.ws.rs.HeaderParam; 
 
import javax.ws.rs.POST; 
 
import javax.ws.rs.PUT; 
 
import javax.ws.rs.Path; 
 
import javax.ws.rs.PathParam; 
 
import javax.ws.rs.Produces; 
 
import javax.ws.rs.core.MediaType; 
 

 
import it.jack.fdd.dao.FactoryDao; 
 
import it.jack.fdd.dao.impl.BankAccountDaoImpl; 
 
import it.jack.fdd.dao.interfaces.BankAccountDao; 
 
import it.jack.fdd.domain.BankAccount; 
 
import it.jack.fdd.domain.User; 
 
import it.jack.fdd.dto.TokenUserDto; 
 
import it.jack.fdd.dto.UserDto; 
 
import it.jack.fdd.util.ConverterDTO; 
 

 
@Path("/bankaccount") 
 
public class BankAccountServices { 
 

 
\t @GET 
 
\t @Produces(MediaType.APPLICATION_JSON) 
 
\t public List<BankAccount> getBankAccountOfUser() { 
 
    
 
\t \t BankAccountDao baDao = new BankAccountDaoImpl(); 
 
\t \t List<BankAccount> balist = baDao.getBAByUserId(1); \t \t 
 
\t \t return balist; 
 

 
\t }

。この方法は、以下で実装されています。あなたが見ることができるように

package it.jack.fdd.dao.impl; 
 

 
import java.util.List; 
 

 
import org.hibernate.HibernateException; 
 
import org.hibernate.Query; 
 
import org.hibernate.Session; 
 
import org.hibernate.Transaction; 
 

 
import it.jack.fdd.dao.interfaces.BankAccountDao; 
 
import it.jack.fdd.domain.BankAccount; 
 
import it.jack.fdd.domain.Staff; 
 
import it.jack.fdd.domain.User; 
 
import it.jack.fdd.util.HibernateUtilLezione; 
 

 
public class BankAccountDaoImpl extends BaseDaoImpl<BankAccount> implements BankAccountDao{ 
 
\t 
 

 
\t public List<BankAccount> getBAByUserId(int id) { 
 
\t \t 
 
\t \t try{ 
 
\t \t \t 
 
\t \t \t Session session = HibernateUtilLezione.openSession(); 
 
\t \t \t Transaction tx = session.beginTransaction(); 
 
\t \t \t 
 
\t \t \t @SuppressWarnings("unchecked") 
 
\t \t \t List<BankAccount> accounts = session.createQuery("from BankAccount b " 
 
\t \t \t \t \t + "where b.user= "+id).list(); 
 
\t \t \t 
 
\t \t \t tx.commit(); 
 
\t \t \t session.close(); 
 
\t \t \t 
 
\t \t \t return accounts; 
 
\t \t } 
 
\t \t catch(HibernateException e){ 
 
\t \t \t e.printStackTrace(); 
 
\t \t \t return null; 
 
\t \t } 
 
\t } 
 
\t 
 
}

、この方法は、IDを尋ね、データベースにそれとフィールドがあるので、私は、ちょうどチェックするID 1を入れid。 Javaでしようと、それは私にリスト

[[email protected]]

を返し、私はリストはこのように次元1(したがって、データベースのように1つのレコードのみ、そのiduserを持つ唯一の1つのレコード)

を持っていることもチェック奇妙なことは、それが前に働いていたことを、郵便配達が別のREST呼び出しに私に同じ結果を示すことである

Postman error

:、郵便配達を使用して、このREST呼び出しを開こうとすると、結果がこれです。しかし、この最後のREST呼び出しは問題ではありません。私のアプリケーションでは不思議なことですが、郵便配達員だけでは機能しません。 このように、高度なRESTクライアントをしようと、私は奇妙な異なる結果を持っています

Advanced rest client 1

毎回同じフィールドを繰り返し奇妙な、非常に大きなリストを!!それはループのようなものです! どうしますか?私はどのように解決できますか?

+0

@Hema私は解決しました!ソリューションを見て –

+0

これを予測しました。あなたのEntityクラスを共有するよう頼んだだけです...うまく解決しました – Hema

+0

OK、私はエンティティクラス –

答えて

0

解決済み。問題は、javaのドメインクラスにあった:ドメインクラスは1対多の関係を持っているときには、これらの再発の記録を避けるために、タグ@JsonIgnoreを置くために必須だJSONファイルにExample

Entityクラス:

package it.jack.fdd.domain; 
 
// Generated 30-nov-2016 0.17.09 by Hibernate Tools 4.3.1.Final 
 

 
import java.util.Date; 
 
import javax.persistence.Column; 
 
import javax.persistence.Entity; 
 
import javax.persistence.FetchType; 
 
import javax.persistence.GeneratedValue; 
 
import static javax.persistence.GenerationType.IDENTITY; 
 
import javax.persistence.Id; 
 
import javax.persistence.JoinColumn; 
 
import javax.persistence.ManyToOne; 
 
import javax.persistence.Table; 
 
import javax.persistence.Temporal; 
 
import javax.persistence.TemporalType; 
 

 
/** 
 
* BankAccount generated by hbm2java 
 
*/ 
 
@Entity 
 
@Table(name = "bank_account", catalog = "fdd_dbproducts") 
 
public class BankAccount implements java.io.Serializable { 
 

 
\t private Integer idbankAccount; 
 
\t private User user; 
 
\t private String iban; 
 
\t private String pin; 
 
\t private String society; 
 
\t private Date expiration; 
 

 
\t public BankAccount() { 
 
\t } 
 

 
\t public BankAccount(User user, String iban, String pin, String society) { 
 
\t \t this.user = user; 
 
\t \t this.iban = iban; 
 
\t \t this.pin = pin; 
 
\t \t this.society = society; 
 
\t } 
 

 
\t public BankAccount(User user, String iban, String pin, String society, Date expiration) { 
 
\t \t this.user = user; 
 
\t \t this.iban = iban; 
 
\t \t this.pin = pin; 
 
\t \t this.society = society; 
 
\t \t this.expiration = expiration; 
 
\t } 
 

 
\t @Id 
 
\t @GeneratedValue(strategy = IDENTITY) 
 

 
\t @Column(name = "idbank_account", unique = true, nullable = false) 
 
\t public Integer getIdbankAccount() { 
 
\t \t return this.idbankAccount; 
 
\t } 
 

 
\t public void setIdbankAccount(Integer idbankAccount) { 
 
\t \t this.idbankAccount = idbankAccount; 
 
\t } 
 

 
\t @ManyToOne(fetch = FetchType.EAGER) 
 
\t @JoinColumn(name = "fkuser_baccount", nullable = false) 
 
\t public User getUser() { 
 
\t \t return this.user; 
 
\t } 
 

 
\t public void setUser(User user) { 
 
\t \t this.user = user; 
 
\t } 
 

 
\t @Column(name = "iban", nullable = false, length = 45) 
 
\t public String getIban() { 
 
\t \t return this.iban; 
 
\t } 
 

 
\t public void setIban(String iban) { 
 
\t \t this.iban = iban; 
 
\t } 
 

 
\t @Column(name = "pin", nullable = false, length = 45) 
 
\t public String getPin() { 
 
\t \t return this.pin; 
 
\t } 
 

 
\t public void setPin(String pin) { 
 
\t \t this.pin = pin; 
 
\t } 
 

 
\t @Column(name = "society", nullable = false, length = 45) 
 
\t public String getSociety() { 
 
\t \t return this.society; 
 
\t } 
 

 
\t public void setSociety(String society) { 
 
\t \t this.society = society; 
 
\t } 
 

 
\t @Temporal(TemporalType.DATE) 
 
\t @Column(name = "expiration", length = 10) 
 
\t public Date getExpiration() { 
 
\t \t return this.expiration; 
 
\t } 
 

 
\t public void setExpiration(Date expiration) { 
 
\t \t this.expiration = expiration; 
 
\t } 
 

 
}

関連する問題