У меня есть проект, содержащий логику для моего приложения.
Я опубликовал сервис отдыха, который принимает вход JSON, который передается в фоновый код и работает с ним.
Теперь я создаю веб-интерфейс, который позволяет пользователям создавать необходимый JSON.
У меня есть классы С#, такие как
public class Template
{
public string TemplateName {get; set;}
public List<Column> Columns {get; set;}
}
public class Column
{
public string ColumnName {get; set;}
}
Поэтому я повторно создавал эти классы в JavaScript.
function Template(templateName, columns) {
this.TemplateName = name;
this.Columns = columns;
}
function Column(columnName) {
this.ColumnName = columnName;}
И моя веб-страница имеет некоторые текстовые поля, в которые я вводил информацию, и из этой информации я создаю объекты, а затем конвертирую их в JSON.
$scope.buttonClick = function () {
var column = new Column('cName',$scope.selectedDataType,
$scope.selectedDataType,
$scope.selectedGenerator,
'TEST');
var columns = [];
columns.push(column);
var template = new Template($scope.TemplateName, $scope.RowCount, columns);
var jsonbody = JSON.stringify(template);
console.log(jsonbody);
}
Я, очевидно, повторяю работу здесь, переписывая все классы в JS и что FEELS ошибается. Есть ли способ лучше? Должен ли я делать что-то другое?
Я бы сказал, это зависит. Если у вас небольшое приложение с несколькими классами, вы можете решить, что накладные расходы относительно низки, и нет никакой пользы для чего-либо еще. Однако вы правы, чтобы сказать, что это неправильно. Выполнение всего вручную открывает вам всевозможные потенциальные ошибки.
Как упоминает Эми, существуют инструменты с низким уровнем воздействия, такие как пишущая машинка, которые позволяют создавать эквивалентный машинописный текст.
Если ваше приложение больше, вам может показаться полезным начать использовать что-то вроде NSwag, которое расширяет Swagger и позволяет вам иметь больше сквозного решения для связывания вашего клиентского приложения с вашими API.
Между ними много вариантов и точек.