REST - 如何设置变量等于 POST URL 参数?

REST - How to set variable equal to POST URL Parameter?

仍然是 REST 的新手,但即将完成我的第一个程序。

我正在尝试创建一个 CSV,每次 POST.

时都会将 POST URL 参数的值传递给它

有没有办法将我的变量设置为等于我的 POST URL 参数?

下面的代码(值暂时设置为 10,而我弄明白了):

@Path("/values")
public class values {

int totalSum = 0;

List<String> list = new ArrayList<String>();

@GET
@Produces(MediaType.TEXT_PLAIN)
public int getSum() throws IOException {
    CSVReader reader = new CSVReader(new FileReader("yourfile.csv"));
    List<String[]> read = reader.readAll();
    return sum.sum(read, totalSum);
}

@POST
public String addValue() throws IOException {
    int value = 10;
    String valueString = Integer.toString(value);
    CSVWriter writer = new CSVWriter(new FileWriter("yourfile.csv", true), ',');
    String[] entries = valueString.split(",");
    writer.writeNext(entries);
    writer.close();
    return "ok";  
}  

@DELETE
@Produces(MediaType.TEXT_PLAIN)
public String deleteList() throws IOException {
    FileWriter fw = new FileWriter("yourfile.csv", false); 
    PrintWriter pw = new PrintWriter(fw, false);
    pw.flush();
    pw.close();
    fw.close();
    return "ok";
}

}

所以现在您需要基数 url,当您添加 /{some_value} 时,它会通过 PathVariable 映射到字符串值 test

像这样?

@Path("/{test}")
@POST
// Javax.ws.rs.PathParam
public String addValue(@PathParam("test") final String test) throws 
// SpringFramework
//public String addValue(@PathVariable("test") final String test) throws IOException {
    final String value = test;
    CSVWriter writer = new CSVWriter(new FileWriter(value, true), ',');
    String[] entries = valueString.split(",");
    writer.writeNext(entries);
    writer.close();
    return "ok";  
}  

有关详细信息,请参阅 link