আমি সবেমাত্র REST পরিষেবাদি বিকাশ করা শুরু করেছি, তবে আমি একটি কঠিন পরিস্থিতি পেরিয়ে এসেছি: আমার ক্লায়েন্টের কাছে আমার REST পরিষেবা থেকে ফাইল পাঠানো। এতক্ষণ আমি কীভাবে সহজ ডেটা প্রকারগুলি (স্ট্রিংস, পূর্ণসংখ্যা ইত্যাদি) প্রেরণ করতে পারি তা হ্যাং করে ফেলেছি তবে একটি ফাইল প্রেরণ একটি আলাদা বিষয় কারণ এখানে অনেকগুলি ফরম্যাট রয়েছে যা আমার জানা নেই যে আমারও শুরু হওয়া উচিত। আমার REST পরিষেবাটি জাভাতে তৈরি হয়েছে এবং আমি জার্সি ব্যবহার করছি, আমি JSON ফর্ম্যাট ব্যবহার করে সমস্ত ডেটা প্রেরণ করছি।
আমি বেস 64৪ টি এনকোডিং সম্পর্কে পড়েছি, কিছু লোক বলে এটি একটি ভাল কৌশল, অন্যরা বলে এটি ফাইল আকারের সমস্যার কারণে নয়। সঠিক উপায় কি? আমার প্রকল্পের একটি সাধারণ সংস্থান শ্রেণিটি কীভাবে দেখছে:
import java.sql.SQLException;
import java.util.List;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Request;
import javax.ws.rs.core.UriInfo;
import com.mx.ipn.escom.testerRest.dao.TemaDao;
import com.mx.ipn.escom.testerRest.modelo.Tema;
@Path("/temas")
public class TemaResource {
@GET
@Produces({MediaType.APPLICATION_JSON})
public List<Tema> getTemas() throws SQLException{
TemaDao temaDao = new TemaDao();
List<Tema> temas=temaDao.getTemas();
temaDao.terminarSesion();
return temas;
}
}
আমি ফাইলটি প্রেরণের জন্য কোডটি অনুমান করছি এমন কিছু হবে:
import java.sql.SQLException;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
@Path("/resourceFiles")
public class FileResource {
@GET
@Produces({application/x-octet-stream})
public File getFiles() throws SQLException{ //I'm not really sure what kind of data type I should return
// Code for encoding the file or just send it in a data stream, I really don't know what should be done here
return file;
}
}
আমার কোন ধরণের টিকা ব্যবহার করা উচিত? আমি দেখেছি কিছু লোক একটি জন্য সুপারিশ @GET
ব্যবহার @Produces({application/x-octet-stream})
, যে সঠিক উপায় আছে কি? আমি যে ফাইলগুলি প্রেরণ করছি তা নির্দিষ্ট ফাইলগুলি যাতে ক্লায়েন্টকে ফাইলগুলির মাধ্যমে ব্রাউজ করার প্রয়োজন হয় না। আমাকে কীভাবে ফাইলটি প্রেরণ করা যায় সে সম্পর্কে কেউ আমাকে গাইড করতে পারেন? আমি এটি JSON অবজেক্ট হিসাবে প্রেরণ করতে বেস 64 ব্যবহার করে এটি এনকোড করব? বা এনকোডিংয়ের এটি JSON অবজেক্ট হিসাবে প্রেরণ করার প্রয়োজন নেই? আপনি যে কোনও সহায়তার জন্য ধন্যবাদ
java.io.File
আপনার সার্ভারে আপনার কি প্রকৃত (বা ফাইলের পাথ) আছে বা ডেটাবেস, ওয়েব পরিষেবা, পদ্ধতি কল হিসাবে কোনও অন্য উত্স থেকে ডেটা আসছেInputStream
?